成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate的基本標(biāo)簽和映射

開發(fā) 后端
本文講解了Hibernate的基本映射標(biāo)簽和屬性,主要講解了一些主要的標(biāo)簽,如class、id、hibernate-mapping等到比較適合初學(xué)者學(xué)習(xí),詳細(xì)情況下文。

hibernate基本映射標(biāo)簽和屬性

1.<hibernate-mapping>標(biāo)簽

  1. <hibernate-mapping  
  2.          schema="schemaName"                          (1)  
  3.          catalog="catalogName"                        (2)  
  4.          default-cascade="cascade_style"              (3)  
  5.          default-access="field|property|ClassName"    (4)  
  6.          default-lazy="true|false"                    (5)  
  7.          auto-import="true|false"                     (6)  
  8.          package="package.name"                       (7)  
  9.  /> 

(1) schema (可選): 數(shù)據(jù)庫schema的名稱。

(2) catalog (可選): 數(shù)據(jù)庫catalog的名稱。

(3) default-cascade (可選 - 默認(rèn)為 none): 默認(rèn)的級聯(lián)風(fēng)格。

(4) default-access (可選 - 默認(rèn)為 property): Hibernate用來訪問所有屬性的策略。可以通過實(shí)現(xiàn)PropertyAccessor接口 自定義。

(5) default-lazy (可選 - 默認(rèn)為 true): 指定了未明確注明lazy屬性的Java屬性和集合類, Hibernate會(huì)采取什么樣的默認(rèn)加載風(fēng)格。

(6) auto-import (可選 - 默認(rèn)為 true): 指定我們是否可以在查詢語言中使用非全限定的類名(僅限于本映射文件中的類)。

(7) package (可選): 指定一個(gè)包前綴,如果在映射文檔中沒有指定全限定的類名, 就使用這個(gè)作為包名。 假若有兩個(gè)持久化類,它們的非全限定名是一樣的(就是兩個(gè)類的名字一樣,所在的包不一樣),應(yīng)該設(shè)置auto-import="false".如果把一個(gè)“import”的名字對應(yīng)兩個(gè)類,Hibernate會(huì)拋出一個(gè)異常hibernate-mapping元素允許嵌套多個(gè)<class>映射,但***的做法是一個(gè)持久化類對應(yīng)一個(gè)映射文件,并以持久化的超類名稱命名。如:Xxx.hbm.xml

2.<class>標(biāo)簽

  1. <class 
  2.         name="ClassName"                              (1)  
  3.         table="tableName"                             (2)  
  4.         dynamic-update="true|false"                   (3)  
  5.         dynamic-insert="true|false"                   (4)  
  6.         optimistic-lock="none|version|dirty|all"      (5)  
  7.         lazy="true|false"                             (6)  
  8. /> 

(1)name(可選):持久化類(或者接口)的Java全限定名。如果這個(gè)屬性不存在,Hibernate將假定這是一個(gè)非POJO的實(shí)體映射

(2)table(可選-默認(rèn)是類的非全限定名):對應(yīng)數(shù)據(jù)庫表名,生成DDL時(shí)數(shù)據(jù)表名,如果省略,則名稱同持久化類名稱

(3)dynamic-update(可選,默認(rèn)為false):指定用于UPDATE的SQL將會(huì)在運(yùn)行時(shí)動(dòng)態(tài)生成,只更新那些被改過的字段

(4)dynamic-insert(可選,默認(rèn)為false):指定用于insert的sql將會(huì)在運(yùn)行時(shí)動(dòng)態(tài)生成,并且只包含那些非空字段

(5) optimistic-lock(樂觀鎖定) (可選,默認(rèn)是version): 決定樂觀鎖定的策略。

(6) lazy (可選): 通過設(shè)置lazy="false", 所有的延遲加載(Lazy fetching)功能將被全部禁用(disabled)。

 

3.<id>標(biāo)簽

<id>標(biāo)簽必須配置在<class>標(biāo)簽的***個(gè)位置。由一個(gè)字段構(gòu)成主鍵,<id>元素定義了該屬性到數(shù)據(jù)庫表主鍵字段的映射

  1. <id name="propertyName"         (1)  
  2.     type="typename"             (2)  
  3.     column="column_name">        (3)  
  4.     length="length">             (4)  
  5.      <generator class="generatorClass" />  
  6. </id> 

(1)name:實(shí)體類的屬性名字

(2)type:標(biāo)識(shí)Hibernate類型的名字(省略則使用Hibernate默認(rèn)類型),也可以自己配置類型(integer,long,short,float,double,character,byte,boolean,yes_no,true_false)

(3)column(可選-默認(rèn)為屬性名):主鍵字段的名字(省略則取name為字段名)

(4)length(可選):當(dāng)type為varchar時(shí),設(shè)置字段長度

<generator>元素(主鍵生成策略)

主鍵生成策略必須配置,用來為該持久化類的實(shí)例生成唯一的標(biāo)識(shí)。

uuid:

用一個(gè)128-bit的UUID算法生成字符串類型的標(biāo)識(shí)符,這在一個(gè)網(wǎng)絡(luò)中是唯一的(使用了IP地址),UUID被編碼為一個(gè)32位16進(jìn)制數(shù)字的字符串,它的生成是由Hibernate生成,一般不會(huì)重復(fù)UUID包含:IP地址,JVM的啟動(dòng)時(shí)間,系統(tǒng)時(shí)間和一個(gè)計(jì)算器值。

native:

根據(jù)底層數(shù)據(jù)庫的能力選擇identity,sequence或者h(yuǎn)ilo中的一個(gè)(數(shù)據(jù)庫自增)

assigned:

讓程序在save()之前為對象分配一個(gè)表示符。這是<generator>元素沒有指定時(shí)的默認(rèn)生成策略。(如果是手動(dòng)分配,則需要設(shè)置此配置)

 

5.<property>標(biāo)簽

用于映射普通屬性到表字段

  1. <property  
  2.      name="propertyName" 
  3.      column="column_name" 
  4.      type="typename" 
  5.      length="" 
  6.      unique="" 
  7.      not-null="" 
  8.  >  
  9. </property> 

注:如果實(shí)體類和實(shí)體類中的屬性和SQL中的關(guān)鍵字重復(fù),必須采用table或column重新命名

6.Hibernate完整映射實(shí)例:

  1. <?xml version="1.0"?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC   
  3.     "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
  4.     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  5. <hibernate-mapping>  
  6.     <!--   
  7.         class標(biāo)簽 實(shí)體類映射到數(shù)據(jù)表  
  8.         * name屬性:實(shí)體類的完整路徑  
  9.         * table屬性:實(shí)體類映射到數(shù)據(jù)庫中的表名,如果省略,則為實(shí)體類的類名稱   
  10.     -->  
  11.     <class name="com.wjt276.hibernate.User1">  
  12.         <!-- 映射數(shù)據(jù)庫主鍵 映射到數(shù)據(jù)表中的字段名默認(rèn)為類屬性名,但可以利用column重新指定-->  
  13.         <id name="id" column="id">  
  14.             <!-- generator設(shè)置主鍵生成策略  uuid:一萬年內(nèi)生成唯一的字符串 -->  
  15.             <generator class="uuid"/>  
  16.         </id>  
  17.         <!--   
  18.             property 映射普通屬性  映射到數(shù)據(jù)表中的字段名默認(rèn)為類屬性名,但可以利用column重新指定  
  19.             unique:唯一約束;  
  20.             not-null:非空約束  
  21.             length:字段長度  
  22.         -->  
  23.         <property name="name" unique="true" not-null="true" length="20"/>  
  24.         <property name="password" not-null="true" length="10"/>  
  25.         <property name="createTime"/><!--Hibernate會(huì)自動(dòng)根據(jù)實(shí)體類屬性類型生成數(shù)據(jù)庫表中字段類型 -->  
  26.         <property name="expireTime"/>  
  27.     </class>  
  28. </hibernate-mapping>  

原文鏈接:http://blog.csdn.net/fengxuezhiye/article/details/7368865

【編輯推薦】

  1. Java集合框架總結(jié):Set接口的使用
  2. Java的位移運(yùn)算巧方法
  3. Java7的一個(gè)新類JLayer:裝飾的Swing組件
  4. 關(guān)于Java中內(nèi)存溢出的解決辦法
  5. Java中的面向?qū)ο筇匦?/a>
責(zé)任編輯:林師授 來源: fengxuezhiye的博客
相關(guān)推薦

2009-02-16 09:20:39

基本定則OR映射Hibernate

2012-02-03 11:17:33

HibernateJava

2012-02-02 16:13:29

HibernateJava

2009-09-23 08:56:18

Hibernate cHibernate i

2012-02-06 13:34:49

HibernateJava

2009-06-16 14:36:54

Hibernate繼承

2009-09-22 15:10:22

Hibernate映射

2009-09-23 17:34:18

Hibernate映射

2009-09-25 10:00:47

Hibernate映射

2012-02-03 10:07:04

HibernateJava

2016-12-15 08:38:50

1 Hibernate基本配置

2009-06-02 14:46:26

Hibernate關(guān)系映射教程

2009-09-23 13:26:10

Hibernate對象

2009-09-25 12:31:13

Hibernate映射

2009-09-25 14:20:28

Hibernate繼承映射

2009-09-25 09:46:02

Hibernate高級

2009-09-25 12:59:52

Hibernate映射

2009-09-27 10:02:29

定制Hibernate

2009-09-28 14:54:33

Hibernate映射

2009-09-29 15:58:22

Hibernate映射
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人片免费看 | 伊人久久精品一区二区三区 | 亚洲欧美日韩精品久久亚洲区 | 日本一级淫片免费啪啪3 | 午夜小视频在线播放 | 黑人巨大精品欧美一区二区免费 | 精品久久一 | 日韩影音 | 亚洲视频 欧美视频 | 久久久91精品国产一区二区三区 | 亚州中文| 91国产视频在线观看 | 国产一级电影在线 | 91精品综合久久久久久五月天 | 毛片免费观看视频 | 成人欧美一区二区三区1314 | 国产农村妇女精品一二区 | 久久久91精品国产一区二区三区 | 日韩区| 欧美激情精品久久久久久变态 | 又爽又黄axxx片免费观看 | 91精品国产91久久久久久吃药 | 国产视频中文字幕在线观看 | 久久久婷婷 | 亚洲成人免费网址 | 91综合网| 日韩一区二区免费视频 | 又黄又色| 久久精品国产一区二区电影 | 成年人网站在线观看视频 | 国产色黄| 欧美xxxx色视频在线观看免费 | 成人一区在线观看 | 欧美日韩中文字幕在线播放 | 国产第一页在线观看 | 久久精品视频免费看 | 国产精品一区二区三区四区 | 欧美一级在线免费观看 | 欧美精品一区在线 | 福利社午夜影院 | 欧美日韩在线一区二区 |