昨天总是抛出这个异常,想想最简单的方法估计就是把fetch设置为FetchType.EAGER,可这未免也太影响了效率,在网上上尝试了几种方法人们都建议把fetch 设为 FetchType.EAGER,或者通过在web.xml中设置OpenSessionInViewFilter,结果都不凑效,在同事的指导下发现用fetch可以解决这一难题。这就是fetch的功能。我们可以把fetch与lazy="true"的关系类比为事务当中的编程式事务与声明式事务。
错误的hql语句
SELECT bioChemicalInfo FROM BioChemicalInfo AS bioChemicalInfo LEFT JOIN bioChemicalInfo.experiment AS experiment LEFT JOIN experiment.experimentProcesses experimentProcess LEFT JOIN experimentProcess.experimentProcessRecords
加入fetch以后
SELECT bioChemicalInfo FROM BioChemicalInfo AS bioChemicalInfo LEFT JOIN [color=blue]FETCH [/color]bioChemicalInfo.experiment AS experiment LEFT JOIN FETCH experiment.experimentProcesses experimentProcess LEFT JOIN FETCH experimentProcess.experimentProcessRecords
分享到:
相关推荐
当你尝试在Controller层或者视图层访问懒加载的属性时,如果Session已经关闭("no Session..."错误),就会抛出`org.hibernate.LazyInitializationException`。这是因为懒加载的代理对象需要Session来执行数据库查询...
Could not initialize proxy - the owning Session was closed 这是Hibernate懒加载机制中的常见异常,当尝试访问一个已被关闭的Session中的懒加载属性时触发。例如,如果Session在使用`setFetchMode(FetchMode....
错误表现:在Session关闭后尝试访问懒加载属性,抛出“org.hibernate.LazyInitializationException: could not initialize proxy - no Session”异常。 解决方案:理解并合理使用Open Session in View(OSIV)模式...
7.注册如果发送邮件激活的方式出错(返回页面错误org.hibernate.LazyInitializationException: could not initialize proxy - no Session) 8.禁止用户后不允许登录、发帖、回帖等 9.后台会员搜索中文名搜索乱码 ...
Exception in thread "main" org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed ``` - **日志记录**:为了更好地诊断问题,可以使用log4j等工具进行日志...
7.注册如果发送邮件激活的方式出错(返回页面错误org.hibernate.LazyInitializationException: could not initialize proxy - no Session) 8.禁止用户后不允许登录、发帖、回帖等 9.后台会员搜索中文名搜索乱码 ...
本程序整合了struts-2.2.3.1+spring-framework-3.1.0+hibernate-distribution-3.6.8+JSON+MySQL+Annotation,并且对Dao和Service进行了封装,内含.jar包,并且解决了一对多双向关联的could not initialize proxy - ...
7. **Action的返回方法出错,could not initialize proxy - no Session** 这可能是在Hibernate操作中没有正确初始化Session。确保在访问数据库之前已打开Session,并在完成后关闭。 8. **查询数据出现乱码问题** ...