国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Hibernate(十一)檢索

2019-11-14 23:17:41
字體:
來源:轉載
供稿:網友
Hibernate(十一)檢索一、Hibernate檢索策略

二、檢索方法

三、get和load比較

get和load的區別:

get不支持延遲加載,而load支持。

當查詢特定的數據庫中不存在的數據時,get會返回null,而load則拋出異常。

類(Class)的延遲加載:

設置<class>標簽中的lazy="true",或是保持默認(即不配置lazy屬性)

如果lazy的屬性值為true,那么在使用load方法加載數據時,只有確實用到數據的時候才會發出sql語句;這樣有可能減少系統的開銷。

//不會發出查詢sql

System.out.

五 、lazy 延遲加載

Lazy,延遲加載

Lazy的有效期:只有在session打開的時候才有效;session關閉后lazy就沒效了。

5.1、lazy策略可以用在:
  • <class>標簽上:可以取值true/false
  • <property>標簽上,可以取值true/false,這個特性需要類增強
  • <set>/<list>等集合上,可以取值為true/false/extra
  • <one-to-one>/<many-to-one>等標簽上,可以取值false/proxy/no-proxy
5.2、設置集合上的lazy=false
  • true:默認取值,它的意思是只有在調用這個集合獲取里面的元素對象時,才發出查詢語句,加載其集合元素的數據
  • false:取消懶加載特性,即在加載對象的同時,就發出第二條查詢語句加載其關聯集合的數據
  • extra:一種比較聰明的懶加載策略,即調用集合的size/contains等方法的時候,hibernate

并不會去加載整個集合的數據,而是發出一條聰明的SQL語句,以便獲得需要的值,只有在真正需要用到這些集合元素對象數據的時候,才去發出查詢語句加載所有對象的數據

5.3、Hibernate單端關聯懶加載策略:即在<one-to-one>/<many-to-one>標簽上可以配置
  • 懶加載策略。可以取值為:false/proxy/no-proxy
  • false:取消懶加載策略,即在加載對象的同時,發出查詢語句,加載其關聯對象
  • proxy:這是hibernate對單端關聯的默認懶加載策略,即只有在調用到其關聯對象的方法的時候才真正發出查詢語句查詢其對象數據,其關聯對象是代理類
  • no-proxy:這種懶加載特性需要對類進行增強,使用no-proxy,其關聯對象不是代理類

注意:在class標簽上配置的lazy屬性不會影響到關聯對象!!!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临朐县| 阿克| 堆龙德庆县| 东阿县| 乃东县| 凤庆县| 来凤县| 建平县| 宝坻区| 中山市| 余江县| 安庆市| 沈阳市| 蒙山县| 右玉县| 赤峰市| 登封市| 永川市| 改则县| 镇远县| 昌邑市| 南康市| 教育| 龙里县| 五原县| 普兰县| 清水河县| 淄博市| 东乌| 巫溪县| 光泽县| 景泰县| 宣恩县| 宁远县| 大英县| 定陶县| 静宁县| 永清县| 中牟县| 都江堰市| 浑源县|