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

Hibernate操作延遲加載的關聯

開發 后端
Hibernate 3對集合使用Hibernate延遲select抓取,對返回單值的關聯使用延遲代理抓取。對幾乎是所有的應用而言,其絕大多數的關聯,這種策略都是有效的。

Hibernate操作延遲加載的關聯有很多值得學習的地方,這里我們主要介紹Hibernate延遲,包括介紹Hibernate延遲使用等方面。

默認情況下,Hibernate 3對集合使用延遲select抓取,對返回單值的關聯使用延遲代理抓取。對幾乎是所有的應用而言,其絕大多數的關聯,這種策略都是有效的。

注意:假若你設置了hibernate.default_batch_fetch_size,Hibernate會對延遲加載采取批量抓取優化措施(這種優化也可能會在更細化的級別打開)。

然而,你必須了解延遲抓取帶來的一個問題。在一個打開的Hibernate session上下文之外調用延遲集合會導致一次意外。比如:

  1. s = sessions.openSession();  
  2. Transaction tx = s.beginTransaction();  
  3.               
  4. User u = (User) s.createQuery("from User u where u.name=:userName")  
  5.     .setString("userName", userName).uniqueResult();  
  6. Map permissions = u.getPermissions();  
  7.  
  8. tx.commit();  
  9. s.close();  
  10.  
  11. Integer accessLevel = (Integer) permissions.get("accounts");  // Error! 

在Session關閉后,permessions集合將是未實例化的、不再可用,因此無法正常載入其狀態。 Hibernate對脫管對象不支持延遲實例化. 這里的修改方法是:將permissions讀取數據的代碼 移到tx.commit()之前。

除此之外,通過對關聯映射指定lazy="false",我們也可以使用非延遲的集合或關聯。

但是, 對絕大部分集合來說,更推薦使用延遲方式抓取數據。如果在你的對象模型中定義了太多的非延遲關聯,Hibernate最終幾乎需要在每個事務中載入整個數據庫到內存中!

但是,另一方面,在一些特殊的事務中,我們也經常需要使用到連接抓取(它本身上就是非延遲的),以代替查詢抓取。

這里我們就不再說明如何具體的定制Hibernate中的抓取策略。在Hibernate3中,具體選擇哪種抓取策略的機制是和選擇單值關聯或集合關聯相一致的。

【編輯推薦】

  1. 簡述Hibernate中加載并存儲對象
  2. Hibernate傳播性持久化攻略
  3. 深入了解Hibernate自動狀態檢測
  4. 簡單學會Hibernate對象持久化
  5. 分析Hibernate自增主鍵
責任編輯:仲衡 來源: javanb
相關推薦

2009-09-24 11:41:46

Hibernate延遲

2009-06-17 11:18:02

Hibernate延遲

2009-09-28 09:56:53

Hibernate屬性

2009-09-28 09:40:28

Hibernate集合延遲加載

2009-09-25 10:17:21

Hibernate延遲

2009-07-02 09:39:37

Hibernate延遲

2009-09-28 09:35:10

Hibernate實現實體對象延遲加載

2011-11-24 21:03:10

ibmdw

2009-09-25 15:34:42

Hibernate關聯

2012-02-03 10:54:50

HibernateJava

2012-08-15 11:36:13

Hibernate

2009-09-25 12:59:52

Hibernate映射

2011-06-08 14:22:51

延遲加載

2009-09-25 10:22:35

Hibernate多表

2012-06-05 10:22:45

jQuery

2022-12-02 08:00:00

JavaScriptAstro前端

2021-05-08 09:49:07

JavaScript延遲加載

2023-06-29 07:48:35

異步加載JavaScript

2009-06-17 14:55:26

Hibernate數據

2009-09-24 09:35:47

Hibernate插入
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 97超级碰碰 | 久久久久久久久久久久91 | 久久精品欧美一区二区三区不卡 | 日韩精品视频在线观看一区二区三区 | 国产精品色综合 | 亚洲欧美在线视频 | 久久综合九九 | 黄色网页在线 | 国产精品视频一区二区三区四蜜臂 | 91视视频在线观看入口直接观看 | 久久久久久国产精品久久 | 好姑娘高清在线观看电影 | 国产午夜视频 | 日韩一区二区在线视频 | 成人免费视频网站在线观看 | 久久久影院 | 久久这里有精品 | 成人九色| 亚洲一区二区三区高清 | 在线免费中文字幕 | 欧美11一13sex性hd | 日韩高清电影 | 国产精品亚洲精品久久 | www精品美女久久久tv | 欧美性区| 国产美女特级嫩嫩嫩bbb片 | 麻豆一区二区三区 | 亚洲三级国产 | 日韩一二区 | 国产精品久久久久久久模特 | 国产精品久久久久久婷婷天堂 | 精品熟人一区二区三区四区 | a级黄色网| 一区二区激情 | 我爱操 | 久久国产亚洲 | 天堂网av在线| 色综合天天综合网国产成人网 | 欧美精品在线一区 | 特级做a爰片毛片免费看108 | 亚洲国产视频一区二区 |