hibernate的 lazy 和 fetch

一、fetch参数指定了关联对象抓取的方式是select查询还是join查询

select方式时先查询返回要查询的主体对象(列表),再根据关联外键id,每一个对象发一个select查询,获取关联的对象,形成n+1次查询;

join方式,主体对象和关联对象用一句外键关联的sql同时查询出来,不会形成多次查询。
如果你的关联对象是延迟加载的,它当然不会去查询关联对象。

时间: 2024-10-23 01:58:12

hibernate的 lazy 和 fetch的相关文章

json hibernate ajax-jquery ajax json + hibernate 有关lazy策略的问题

问题描述 jquery ajax json + hibernate 有关lazy策略的问题 在使用Ajax向后台提交数据后,要返回数据时,通过hibernate去查询数据,但是json会将有关的数据一起读出来,但是我不要那么多的数据. 如何才能将设置json不去获取那么多的数据!!! 很急!!在线求大神解救!!! 报错如下: 2014-09-05 16:38:55 ERROR org.hibernate.LazyInitializationException.(LazyInitializatio

Hibernate中outerjoin、fetch join的使用

1.outer-join关键字(many-to-one的情况) outer-join关键字有3个值,分别是true,false,auto,默认是auto. true: 表示使用外连接抓取关联的内容,这里的意思是当使用load(OrderLineItem.class,"id")时,Hibernate只生成一条SQL语句将OrderLineItem与他的父亲Order全部初始化. select * from OrderLineItem o left joinOrderpon o.Order

JqGrid会自动加载Hibernate的lazy属性字段吗?

问题描述 后台使用hibernate的findByCriteria方法进行查询@RequestMapping(value="/list")@ResponseBodypublic DataResponse<User> list(@RequestParam("page") String page,@RequestParam("rows") String rows,@RequestParam("sidx") String

Spring中解决Hibernate的lazy加载问题

 今天又花了一天时间做单位的搜索网站,主要是增加权限管理的功能,完成了一部分功能,今天的时间主要花在了,spring中调用hibernate的问题,碰到两个问题.一个是双向多对多关联问题,一个是设置lazy=true时的问题.关于第一个多对多问题,原来是把多对多关联,分解为两个一对多关联,但是在spring中,调用getHibernateTemplate保存对象总是报错,呵呵,错误记不得了.也始终没弄明白什么原因.后来想想就改用,组件类集合来处理多对多关联,也就是用composite-eleme

spring data jpa和hibernate的lazy load问题

问题描述 环境spring4.0.3.hibernate4.3.4,用的是springmvc和springdataJPA,开启懒加载后,在页面就会出现nosession的错误,试了好多方法都不行这篇帖子,跟我说的情况类似,试过了任然不行,请教大神! 解决方案

hibernate中用inner join fetch 为只返回一条数据?

问题描述 selectbfromBrandbINNERJOINfetchb.teamastINNERJOINfetchb.brandAndModelsasbamINNERJOINfetchbam.modelasmINNERJOINfetchb.brandBarsasbar;我没有加任何条件为什么返回的结果里面brand的brandBars集合只有一个啊 解决方案 解决方案二:你这个hql是迫切内连接4张表,它只会把所有关联关系都满足的记录查询出来..你看看是哪里不匹配.解决方案三:可能是配置文件

hibernate lazy——延迟加载

 hibernate lazy策略可以使用在: * <class>标签上,可以取值:true/false ,在hibernate3以上版本,默认是true * <property>标签上,可以取值:true/false 需要类增强工具 * <set><list>标签上,可以取值:true/false/extra * <one-to-one><many-to-one>单端关联上,可以取值:false/proxy/no-proxy laz

Hibernate懒加载解析

Hibernate懒加载解析 在Hibernate框架中,当我们要访问的数据量过大时,明显用缓存不太合适, 因为内存容量有限 ,为了减少并发量,减少系统资源的消耗,这时Hibernate用懒加载机制来弥补这种缺陷,但是这只是弥补而不是用了懒加载总体性能就提高了. 我们所说的懒加载也被称为延迟加载,它在查询的时候不会立刻访问数据库,而是返回代理对象,当真正去使用对象的时候才会访问数据库.    实现懒加载的前提:  1 实体类不能是final的 2 能实现懒加载的对象都是被CGLIB(反射调用)改

关于基于Hibernate留言板的疑惑,hibernate自动获取关联对象的问题

问题描述 只有用户,和留言两个表,POJO如下: public class Article {private Integer id;private String title;private String content;private User user; //省略setter,getter}  public class User {private Integer id;private String username;private String password;private Set<Art