Hibernate夜未眠(上)
??? 我的...
??? H
??? ibernate拾錦...
1、Object Relation Mapping
?? 持久化類與關(guān)系表對(duì)應(yīng),持久化類實(shí)例與表中一行記錄對(duì)應(yīng)。
2、Hibernate核心接口
?? 訪問(wèn)數(shù)據(jù)庫(kù)接口:Session、Transation、Query、Criteria
?? 配置Hibernate接口:Configuration
?? Configuration --(實(shí)例化創(chuàng)建)-->SessionFaction--(實(shí)例化)-->Session---->(Qurey/Criteria/Transaction)
3、Hibernate使用步驟
?? a、創(chuàng)建Hibernate配置文件
?? b、創(chuàng)建持久化類
?? c、創(chuàng)建對(duì)象關(guān)系映射文件
?? d、通過(guò)接口訪問(wèn)DATABASE
4、持久化類
?? 被Hibernate持久化到數(shù)據(jù)庫(kù)中,通過(guò)Setter和Getter方法,若為boolean型則可用is*方法。Hibernate不要求持久化類必須實(shí)現(xiàn)Serializable,但在分布式不同結(jié)點(diǎn)間傳輸持久化類必須實(shí)現(xiàn)Serializable接口。
5、Hibernate與EJB
?? Hibernate為普通JAVA類,而EJB必須實(shí)現(xiàn)EJB各個(gè)接口,運(yùn)行于容器之中。
6、鏈編程風(fēng)格(初始化)
?? sessionFactory = new Configuration()
????????????? .addClass(AAA.class)
????????????? .buildSessionFactory();
7、執(zhí)行數(shù)據(jù)庫(kù)操作
?? 初始化后由sessionFactory.openSession()方法獲得session實(shí)例,并由session實(shí)例執(zhí)行數(shù)據(jù)庫(kù)有關(guān)操作,save()、update()、delete()、load()、find()。
8、屬性作用范圍
?? 在映射文件中元素class中屬性scope-field設(shè)置全局屬性作用域;
?? 在映射文件中元素property中scope-field設(shè)置為局部屬性作用范圍。
9、持久化類訪問(wèn)方法
?? 用戶--->應(yīng)用程序--->Setter()<---Hibernate<---DATABASE
?? 用戶<---應(yīng)用程序<---Getter()--->Hibernate--->DATABASE
10、持久化類中加入程序邏輯
?? Student類中包含firstName、lastName,STUDENT表中只有NAME字段
?? getName()
?? {
?????? return firstName+lastName;
?? }
?? setName(String name)
?? {
?????? firstName = ...;
?????? lastName? = ...;
?? }?
?? Hibernate映射文件中只需要映射name和NAME<property name="name" column="NAME"/>,就可以訪問(wèn)setName()和getName()方法,以映射文件為準(zhǔn)。
??待續(xù)...
? (轉(zhuǎn)載請(qǐng)注明出處)?
?
鳳凰涅槃/浴火重生/馬不停蹄/只爭(zhēng)朝夕
???? 隱姓埋名/低調(diào)華麗/簡(jiǎn)單生活/完美人生
posted on 2007-10-06 03:06 poetguo 閱讀(2298) 評(píng)論(7) 編輯 收藏 所屬分類: Hibernate