欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
動(dòng)態(tài)模型(Dynamic models)
動(dòng)態(tài)模型(Dynamic models)

注意,以下特性在當前是基于實(shí)驗考慮的,可能會(huì )在將來(lái)改變。

運行期的持久化實(shí)體沒(méi)有必要象POJO類(lèi)或JavaBean對象一樣表示。Hibernate也支持動(dòng)態(tài)模型 (在運行期使用MapMap)和象DOM4J的樹(shù)模型那 樣的實(shí)體表示。使用這種方法,你不用寫(xiě)持久化類(lèi),只寫(xiě)映射文件就行了。

Hibernate默認工作在普通POJO模式。你可以使用配置選項default_entity_mode, 對特定的SessionFactory,設置一個(gè)默認的實(shí)體表示模式。 (參見(jiàn)表 4.3 “ Hibernate配置屬性 ”。)

下面是用Map來(lái)表示的例子。首先,在映射文件中,要聲明 entity-name來(lái)代替(或外加)一個(gè)類(lèi)名。

<hibernate-mapping><class entity-name="Customer"><id name="id"type="long"column="ID"><generator class="sequence"/></id><property name="name"column="NAME"type="string"/><property name="address"column="ADDRESS"type="string"/><many-to-one name="organization"column="ORGANIZATION_ID"class="Organization"/><bag name="orders"inverse="true"lazy="false"cascade="all"><key column="CUSTOMER_ID"/><one-to-many class="Order"/></bag></class></hibernate-mapping>

注意,雖然是用目標類(lèi)名來(lái)聲明關(guān)聯(lián)的,但是關(guān)聯(lián)的目標類(lèi)型除了是POJO之外,也可以 是一個(gè)動(dòng)態(tài)的實(shí)體。

在使用dynamic-mapSessionFactory 設置了默認的實(shí)體模式之后,可以在運行期使用MapMap。

Session s = openSession();Transaction tx = s.beginTransaction();Session s = openSession();// Create a customerMap david = new HashMap();david.put("name", "David");// Create an organizationMap foobar = new HashMap();foobar.put("name", "Foobar Inc.");// Link bothdavid.put("organization", foobar);// Save boths.save("Customer", david);s.save("Organization", foobar);tx.commit();s.close();

動(dòng)態(tài)映射的好處是,使原型在不需要實(shí)體類(lèi)實(shí)現的情況下,快速轉變時(shí)間。然而,你無(wú)法進(jìn)行 編譯期的類(lèi)型檢查,并可能由此會(huì )處理很多的運行期異常。幸虧有了Hibernate映射,它使得數 據庫的schema能容易的規格化和合理化,并允許稍后添加正確的領(lǐng)域模型的最新實(shí)現。

實(shí)體表示模式也能在每個(gè)Session的基礎上設置:

Session dynamicSession = pojoSession.getSession(EntityMode.MAP);// Create a customerMap david = new HashMap();david.put("name", "David");dynamicSession.save("Customer", david);...dynamicSession.flush();dynamicSession.close()...// Continue on pojoSession

請注意,用EntityMode調用getSession()是在 Session的API中,而不是SessionFactory。 這樣,新的Session共享底層的JDBC連接,事務(wù),和其他的上下文信 息。這意味著(zhù),你不需要在第二個(gè)Session中調用 flush()close(),同樣的,把事務(wù)和連接的處理 交給原來(lái)的工作單元。

關(guān)于XML表示能力的更多信息可以在第 19 章 XML映射中找到。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Hibernate的動(dòng)態(tài)模型
多対一關(guān)聯(lián)映射
Hibernate 通用的添加實(shí)體方法
Hibernate 4 持久化類(lèi)
動(dòng)態(tài)鏈接,動(dòng)態(tài)在哪?
關(guān)于Hibernate中load與get的討論
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久