文章标题
来源:互联网 发布:自然系果实觉醒知乎 编辑:程序博客网 时间:2024/06/08 09:37
如果不使用懒加载的请跳过…
对于懒加载:顾名思义,就是加载一个实体对象是,不会一次性全部查询出来,对于关联表实体或集合会延迟查询,等到需要使用的时候就会去加载,对于懒加载的好处就不用说了,强烈推荐使用。
但是使用懒加载的时候回莫名出现很多异常:
1.org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role :could not initialize proxy - no Session
这种异常时因为:
protected Session getSession(){
return sessionFactory.getCurrentSession();
}
getCurrentSession();获取的session不支持懒加载,创建的session在commit或rollback时会自动关闭。但是使用openSession()方法就不会出现异常。
为了解决getCurrentSession()的session与懒加载的冲突,需要在web.xml中引入spring的过滤器,让请求完成之后关闭session,这样就是一个两全其美的方法。
OpenSessionInViewFilter
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
sessionFactoryBeanName
sessionFactory
<filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.4基本类型与运算(4.4.2-4.4.4)
- 水平居中有哪些实现方式
- 如何在同一台电脑上使用2个github账号
- Android/JAVA 针对时间戳转今天昨天前天,以及刚刚,几分钟的显示
- [随笔]记录Dragonboard 410c编译安装opencv3.1.0以及openni2
- 文章标题
- 当出现这种错误时【error】LINK1123: failure during conversion to COFF:&n
- 安装 zookeeper-3.4.10
- Dome of Circus(三分)
- Android自定义折线图LineChart
- ACM程序设计课程总结报告
- 搭建Node(React native)开发环境
- yum出错Error: Cannot find a valid baseurl for repo: base
- 深入理解Java类加载器(ClassLoader)