Hibernate视频学习笔记(3)常用映射标签及属性
JTA實(shí)現(xiàn)兩階段提交,全局事務(wù),對(duì)多個(gè)數(shù)據(jù)庫起作用
JDBC是本地事務(wù),只對(duì)單一數(shù)據(jù)庫起作用
?
Hibernate基本映射
實(shí)體類 –〉表
實(shí)體類中的普通屬性 –〉表字段
?
采用<class>標(biāo)簽映射成數(shù)據(jù)庫表,通過<property>標(biāo)簽將普通屬性映射成表字段
所謂普通屬性指不包括自定義類,集合和樹組等
?
auto-import:如果HQL中所需要得類和所在的類不再一個(gè)包內(nèi)如果此屬性為false就會(huì)報(bào)錯(cuò),默認(rèn)為true
?
class屬性:
dynamic-update:如果為true則只發(fā)出修改字段的update語句,默認(rèn)為false
dynamic-insert:如果為true,為null的字段不會(huì)放到insert語句中
lazy:默認(rèn)為true
?
id屬性:
必須配到第一個(gè)
name:屬性column屬性 type:類型 length限制字段長(zhǎng)度
?
<generator class=”uuid” />可以制定increment,缺電如果有兩個(gè)jvm(級(jí)群環(huán)境),不能保證生成唯一
identity:自增 mysql
sequence: oracle
?
uuid是hibernate生成的,不是數(shù)據(jù)庫生成的
guid:sql server,mysql
native:自動(dòng)選擇
assigned:手動(dòng)分配
?
<property>: name, column,type
update, insert:如果設(shè)置成false,則生成的語句不會(huì)出現(xiàn)這些字段
unique:唯一性,比如姓名唯一
not-null:默認(rèn)時(shí)可以為空
?
uuid方式比自增效率合并發(fā)行都要好,缺點(diǎn)是字符串查找比數(shù)字慢
?
注意:如果實(shí)體類和實(shí)體類的屬性和sql中的關(guān)鍵字重復(fù),那么必須采用table或column重新命名
?
實(shí)體類設(shè)計(jì)原則:
必須要有無參構(gòu)造方法,
提供一個(gè)標(biāo)示(identifier)屬性(可選)
使用非final得類(可選),影響lazy
提供get,set方法
?
可以使用hibernate.connection.pool設(shè)置池
可以使用第三方的池
?
hibernate.hbm2ddl自動(dòng)建表
轉(zhuǎn)載于:https://www.cnblogs.com/tongzhiyong/archive/2009/05/06/1451013.html
總結(jié)
以上是生活随笔為你收集整理的Hibernate视频学习笔记(3)常用映射标签及属性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 22(2)序列化以及反序列化
- 下一篇: [转]Messenger:使用消息的跨进