`
smiky
  • 浏览: 254170 次
  • 性别: Icon_minigender_1
  • 来自: 天门
社区版块
存档分类
最新评论

lazy与fetch

阅读更多

笔记:

<class name="Student" table="student" >
		<id name="studentNO" type="int">
			<generator class="native"></generator>
		</id>
		<property name="studentName" type="string"/>
		<many-to-one name="classes" column="classNO" class="Classes" fetch="join" lazy="false"></many-to-one>
	</class>

 当用load方法加载Student时,会延时加载

 

当不设fetch=join用lazy=true时:

对于many-to-one,one-to-one,集合如component,set,map,array,list这些本身默认lazy=true的属性,不管是load还是get,表现出来的都是使用classes时才加载,看上去get在这里也是延时加载了,可见延不延时加载在此时只是针对当前对象的普通属性。但是当lazy=false时,这些属性,不管是load还是get都是都是同时发出两条sql,尽管load方法是在使用当前对象时才发出sql,而get是在一执行时就发出2条sql。

 

当设fetch=join时

查询student时,会同时查出classes,而且是通过一条连接查询实现,这个时候集合属性里面的lazy就没有作用了。

对于load会在使用student或classes时,发出sql,对于get会在执行进就发出sql

 

  • Join fetching - Hibernate retrieves the associated instance or collection in the same SELECT , using an OUTER JOIN .用外连接检索相关的实例或集合,通过一条select语句(实了下,发现是左外连接)

  • Select fetching - a second SELECT is used to retrieve the associated entity or collection. Unless you explicitly disable lazy fetching by specifying lazy="false" , this second select will only be executed when you actually access the association.通过第二条select语句检索相关的实体或集合,但是前提lazy=false,并且只有在访问相关数据时才会发出第二条sql

分享到:
评论

相关推荐

    SSH笔记-检索策略(lazy、fetch、batch-size)

    hibernate的类级别检索策略和检索策略的lazy、fetch、batch-size属性使用

    hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法

    主要介绍了hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法,需要的朋友可以参考下

    Hibernate3.2学习笔记

    Hibernate环境搭建 Hibernate主要接口 Hibernate主要映射 Hibernate的lazy、fetch、cascade等策略 Hibernate性能优化

    nuxt-dev-to-clone:使用Nuxt.js和新的`fetch`钩子构建DEV.TO克隆

    您将学到什么使用$fetchState在客户端获取数据时显示漂亮的占位符使用keep-alive和activated钩子在已经访问过的页面上有效地缓存API请求使用this.$fetch()重用fetch钩子this.$fetch() 设置fetchOnServer值来控制何时...

    hibernate

    Hibernate fetch lazy cascade inverse 关键字

    lazy-loading-react:使用React JS延迟加载图像的示例

    export const useInfiniteScroll = ( { element , fetch } ) =&gt; { const loader = useRef ( fetch ) ; const observer = useRef ( new IntersectionObserver ( ( entries ) =&gt; { const first = entries [ 0 ] ; if ...

    英语资料,很有用的哦

    &lt;many-to-one name="systemSpecialtyCode" class="com.hibernate.model.SystemSpecialtyCode" fetch="select" lazy="false"&gt; ...

    惰性数组:JavaScript惰性数组,有点像Clojure的seq

    # Fetch the dependencies. npm install # Run the tests. npm test 检查测试和源( lazy-array.js )JSDoc以获得更多信息,这是一个简单的示例。 var larr = require ( 'lazy-array' ) ; var plainArray = [ '...

    hibernate总结

    &lt;many-to-one name="dept" class="org.wllt.www.po.Dept" fetch="select" cascade ="none" lazy ="proxy"&gt; &lt;/property&gt; Hibernate映射一对一(通过主键实现一对一的关系) //主PO对象...

    thread-fetcher::gear: 后台线程资源加载器

    在后台,它使用Worker和fetch API 将Blob对象检索到主线程,以便由URL API、 FileReader实例等使用... 查看“部分以获取库兼容性。 方法 拿来 此方法获取给定的资源并将其作为Blob对象返回。 它传递了以下参数: ...

    xdata-bilibili-service:xdata-bilibili服务

    cross-fetch(浏览器和node通用的Fetch API) express(后端服务) 实现功能 首页 分类页 排行榜 搜索 视频详情页 1.视频播放 2.弹幕 3.推荐列表 4.评论列表 UP主页 1.详情 2.投稿列表 个人中心 历史记录 直播 直播列表 ...

    react-bilibili:高仿B站web移动端

    helmet(Head管理)react-lazyload(图片懒加载)loadable-components(代码分割)cross-fetch(浏览器和node通用的Fetch API)express(后端服务)实现功能首页分类页排行榜搜索视频详情页1.视频播放2.弹幕3.推荐列表4.评论...

    JPA例子(里面有一对一,一对多的例子)

    @ManyToOne(cascade = {CascadeType.ALL}, fetch = FetchType.LAZY) @JoinColumn(name = "personid", unique = false, nullable = true, insertable = true, updatable = true) public Person getPerson() { ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”)  16.3.6 迫切左外连接检索(fetch属性为“join”)  16.4 多对一和一对一关联的检索策略  16.4.1 迫切左外连接检索(fetch...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”)  16.3.6 迫切左外连接检索(fetch属性为“join”)  16.4 多对一和一对一关联的检索策略  16.4.1 迫切左外连接检索(fetch...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”)  16.3.6 迫切左外连接检索(fetch属性为“join”)  16.4 多对一和一对一关联的检索策略  16.4.1 迫切左外连接检索(fetch...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”)  16.3.6 迫切左外连接检索(fetch属性为“join”)  16.4 多对一和一对一关联的检索策略  16.4.1 迫切左外连接检索(fetch...

    ASP.NET设计模式-杨明军译(源码)

    7.3.3 Lazy Loading和Proxy模式 7.3.4 Identity Map模式 7.3.5 Query Object模式 7.4 使用对象关系映射器 7.4.1 NHibernate 7.4.2 MS Entity Framework 7.4.3 ORM代码示例 7.5 小结 第8章 表示层 8.1 ...

    Hybrid Mobile Development with Ionic

    Integration of the Cordova iBeacon plugin which will fetch contextual data on the basis of location and Websockets for real time communication for IOT based applications Implementation of offline ...

Global site tag (gtag.js) - Google Analytics