社区
Web 开发
帖子详情
hibernate+Spring的事务配置问题
面朝大海&春暖花开
2011-02-21 01:04:17
直接拿例子说明问题吧!
比如有2个类A和B。其中A中有一个属性是B类型的。我在业务逻辑中有一个函数是返回A类型的函数getA()吧
当我们调用完getA后得到了A的对象a。这个时候hibernate由于lazy并没有加载a对象中的b。但是这个时候session已经关闭了。如果我在调用a.b的话就报错了,因为session已经关闭了。这个该怎么解决
...全文
102
8
打赏
收藏
hibernate+Spring的事务配置问题
直接拿例子说明问题吧! 比如有2个类A和B。其中A中有一个属性是B类型的。我在业务逻辑中有一个函数是返回A类型的函数getA()吧 当我们调用完getA后得到了A的对象a。这个时候hibernate由于lazy并没有加载a对象中的b。但是这个时候session已经关闭了。如果我在调用a.b的话就报错了,因为session已经关闭了。这个该怎么解决
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
面朝大海&春暖花开
2011-02-21
打赏
举报
回复
上面的引用错了,我是对5楼说的。呵呵
面朝大海&春暖花开
2011-02-21
打赏
举报
回复
[Quote=引用 4 楼 huangjinjin520 的回复:]
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<filter>
<filter-name>OpenSessionInV……
[/Quote]
哦,我这里只是说明问题说是查询出A对象。其实我查的是A的list。用的是模板的find(hql)方法,我看了底层,他是createQuery实现的。他支持lazy。除非我把配置的lazy设置为false,但是这样又搭不到我的目的了,如果都设为false,A中有B,B中有C,C中有D……而且是list,那list中的每个A都会吧BCD都查一遍。现在我就只想用下B,甚至不用B
面朝大海&春暖花开
2011-02-21
打赏
举报
回复
[Quote=引用 4 楼 huangjinjin520 的回复:]
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<filter>
<filter-name>OpenSessionInV……
[/Quote]
你看我的配置
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>Spring character encoding filter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Spring character encoding filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
我配了2个filter。是不是要把第一个去掉啊
魔都
2011-02-21
打赏
举报
回复
查询的时候用的load吧,应该用get.试试.不行的化再试试.FetchType.EAGER
BUG弄潮儿
2011-02-21
打赏
举报
回复
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
哈特中尉
2011-02-21
打赏
举报
回复
一般开发里面都不会延迟加载,采用非延迟加载吧。
psjcarlos
2011-02-21
打赏
举报
回复
可以开启openSessionInView来解决这个问题。
不过会牺牲性能。
面朝大海&春暖花开
2011-02-21
打赏
举报
回复
没有人吗?
Spring
MVC+
Hibernate
+
Spring
整合实例
Spring
MVC+
Hibernate
+
Spring
整合实例源码下载,很完整的例子,需要的可以下载源码学习
Spring
+
Hibernate
+Struts资源共享系统
采用
Spring
+
Hibernate
+Struts架构,实现资源共享,用户可以注册登录,上传资源,下载资源,评论资源,并且通过别人下载自己上传的资源赚取相对应的资源分数等功能
Spring
MVC+
hibernate
4.3+
Spring
4.1整合demo
一个目前最新版的SSH框架,都是昨天才去官网下载的新包。做了一个简单的登陆功能;
Struts2+
Spring
+
Hibernate
框架技术与项目实战源码与PDF.3
Struts2+
Spring
+
Hibernate
框架技术与项目实战源码与PDF.3
最新版本的Struts2+
Spring
4+
Hibernate
4三大框架整合(改进:增加整合Quartz和Gson)
一、 项目名称:S2316S411H436 项目原型:Struts2.3.16 +
Spring
4.1.1 +
Hibernate
4.3.6 + Quartz2.2.1 二、 项目目的: 整合使用最新版本的三大框架(即Struts2、
Spring
4和
Hibernate
4),搭建项目架构原型。 项目架构原型:Struts2.3.16 +
Spring
4.1.1 +
Hibernate
4.3.6 + Quartz2.2.1。 此外,还有:Quartz、JUnit4、Log4j、SLF4J、Ehcache、Gson等这些库或框架,也全部使用最新版本。 三、 项目特色: 1、 同时使用了Struts2、
Spring
4、
Hibernate
4、Quartz、JUnit4、Log4j、SLF4J、Ehcache、Gson等库或框架,搭建一个最基本的项目原型。 2、
Spring
配置
提供了多种可选整合方案:详见applicationContext.xml的
配置
(1) 提供支持三种数据源方案:C3P0、DBCP、JNDI,三选一,请注释或删除其他方案 (2) 提取四种
Hibernate
整合方案:四选一,请注释或删除其他方案 (3) 提供两种声明式
事务
管理器方案:二选一,请注释或删除其他方案
Web 开发
81,117
社区成员
341,740
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章