新聞中心
hibernate基本映射標(biāo)簽和屬性

創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、博愛網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為博愛等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
1.
- schema="schemaName" (1)
- catalog="catalogName" (2)
- default-cascade="cascade_style" (3)
- default-access="field|property|ClassName" (4)
- default-lazy="true|false" (5)
- auto-import="true|false" (6)
- package="package.name" (7)
- />
(1) schema (可選): 數(shù)據(jù)庫schema的名稱。
(2) catalog (可選): 數(shù)據(jù)庫catalog的名稱。
(3) default-cascade (可選 - 默認(rèn)為 none): 默認(rèn)的級(jí)聯(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è)
2.
- name="ClassName" (1)
- table="tableName" (2)
- dynamic-update="true|false" (3)
- dynamic-insert="true|false" (4)
- optimistic-lock="none|version|dirty|all" (5)
- lazy="true|false" (6)
- />
(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.
- type="typename" (2)
- column="column_name"> (3)
- length="length"> (4)
(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è)置字段長度
主鍵生成策略必須配置,用來為該持久化類的實(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è)表示符。這是
5.
用于映射普通屬性到表字段
- name="propertyName"
- column="column_name"
- type="typename"
- length=""
- unique=""
- not-null=""
- >
注:如果實(shí)體類和實(shí)體類中的屬性和SQL中的關(guān)鍵字重復(fù),必須采用table或column重新命名
6.Hibernate完整映射實(shí)例:
- "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
原文鏈接:http://blog.csdn.net/fengxuezhiye/article/details/7368865
網(wǎng)站標(biāo)題:Hibernate的基本標(biāo)簽和映射
URL網(wǎng)址:http://fisionsoft.com.cn/article/cocdgse.html


咨詢
建站咨詢
