【转】hibernate懒加载的问题,failed to lazily initialize a collection of role

hibernate懒加载的问题,failed to lazily initialize a collection of role

hibernate懒加载的问题,failed to lazily initialize a collection of role,有需要的朋友可以参考下。

今天往项目里添加了一个many-to-many的关联,发现即便是设置lazy=false也还是会报连接关闭的错误,打死都取不到数据。

可是原来有的many-to-one关联,设置了lazy=false是没问题的啊。好吧,只好再去搜索一下了。

在web.xml里添加上下面的配置就好了,有好多解释为什么要添加这些的,但是没看懂,汗。。。

而且这个配置得放在dispatch的配置之前,否则不起作用,貌似是跟其调用顺序有关系

<filter>

<filter-name>hibernateFilter</filter-name>

<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

<init-param>

<param-name>singleSession</param-name>

<param-value>false</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>hibernateFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

而且修改完这个之后,我发现tomcat终于能动态部署了,就是在修改了配置文件之后不用重新启动就能自动重新部署,激动哭了。不过还是不知道为什么。。。

有谁明白为啥的,给留个言,谢啦!

时间: 2024-10-10 17:28:55

【转】hibernate懒加载的问题,failed to lazily initialize a collection of role的相关文章

ssh框架错误:org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role。

在做ssh项目练习的时候出现问题: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role 原因在于hibernate的懒加载出现的问题.在多方中的一方的配置没有指定加载方式,而且一方中的多方是懒加载,因此在获取一方的时候一方是获取到了,但是再获取多方的时候session已经关闭了,这时候会获取不到多方信息,因此报错. 解决办法: 将一方中的多方(one-to-many

failed to lazily initialize a collection of role

在springmvc hibernate的映射文件中如图设置多对多关联,为了显示查询的的列表,打印json数据,我们刚开始是这样设置如下的设置文件 然后进行查询操作 结果报 failed to lazily initialize a collection of role错误 假如这样设置 结果就是这样的 正常打印json数据 为什么会这样? 首先,lazy是延时的意思,如果lazy=true,那么就是说数据库中关联子表的信息在hibernate容器启动的时候不会加载,而是在你真正的访问到字表非标

懒加载异常 org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role

@OneToMany(cascade={CascadeType.REFRESH,CascadeType.REMOVE},mappedBy="parent",fetch=FetchType.EAGER) private Set<ProductType> childTypes = new HashSet<ProductType>(); 这个是懒加载异常,就是在查询时没有加载关联表的对象,你读取这个关联对象的时候,hibernate的session已经关闭,所以无法获

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role

这个是懒加载异常,就是在查询时没有加载关联表的对象,你读取这个关联对象的时候,hibernate的session已经关闭,所以无法获取对象.可以在配置文件里关闭懒加载 lazily=false 使用事务 @Override @Transactional public void run(ApplicationArguments args) throws Exception { initOrders(); findOrders(); } @SpringBootApplication @EnableJ

failed to lazily initialize a collection of role:XXX, no sessi

系统 框架  springMVC+hibernate 这种情况 由于 hibernate 的 懒汉机制,和 Spring 事务机制(不确定)造成的 由于 spring 配置的时候,在service 层关闭的了会话,controller(view层)根据对象转json的时候,由于 get的该属性,懒加载 执行了一次,由于session 已经关闭了,所以 就回报错 解决方法: 1. spring 配置的时候,事务提交,配置在 view层 2. 转json的忽略该字段,@JsonIgnore 各有利弊

Hibernate 懒加载 错误----no session

错误: unable to evaluate the expression Method threw 'org.hibernate.LazyInitializa org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: XXXX, could not initialize proxy - no Session 原因:Hibernate延迟加载策略, 也就是用到的时候才去

hibernate懒加载

16.懒加载 性能: 发出的sql语句越少,性能越高 方法: 1.懒加载 2.抓取策略 3.缓存策略 4.HQL语句   懒加载 1.类的懒加载 1.利用session.load方法可以产生代理对象 2.在session.load方法执行的时候并不发出sql语句 3.在得到其一般属性的时候发出sql语句 4.只针对一般属性有效,针对标示符属性是无效的 5.默认情况就是懒加载  2.集合的懒加载 <set name=""  lazy="" cascasd=&qu

hibernate懒加载(转载)

http://blog.csdn.net/sanjy523892105/article/details/7071139 懒加载详解 懒加载为Hibernate中比较常用的特性之一,下面我们详细来了解下懒加载的原理和注意事项 Load()方法的懒加载原理 在Hibernate中,查询方法有两个,分别是get()和load(),这两种方法的不同就是load()拥有懒加载的特性.Load()方法就是在查询某一条数据的时候并不会直接将这条数据以指定对象的形式来返回,而是在你真正需要使用该对象里面的一些属

关于s2sh框架关于hibernate懒加载问题的说明和解决方案

首先我们来看下面这个图,解释了一个web程序的一次请求流程! 懒加载异常的说明: 懒加载就是我们在查询一个对象时,它所有的属性是否要被查出来! 如果懒加载开启的话,session在service层就被关闭了,而我们的view如果不需要他的属性的话,那就不会出现懒加载异常,如果需要属性,这时候session已经关闭了所以就会出现懒加载异常,这个时候我们就考虑能否把session放到请求完成之后再进行关闭. 解决: 答案当然是可以,那就是使用过滤器,在请求结束之后将session关闭,在web.xm