社区
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已经关闭了。这个该怎么解决
...全文
101
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
还提供了大量的其他功能,如声明式
事务
管理、数据源
配置
、任务调度等。 在"
Spring
MVC+
Hibernate
+
Spring
整合实例"中,我们可以看到这三者是如何协同工作的。首先,
Spring
会初始化并管理所有组件,包括...
Spring
+
Hibernate
+Struts资源共享系统
在“
Spring
+
Hibernate
+Struts”系统中,
Hibernate
负责处理数据库操作,将Java对象映射到数据库表,从而避免了繁琐的SQL代码编写。通过
Hibernate
,开发者可以轻松地进行数据的增删改查操作,同时支持
事务
管理和缓存...
Spring
MVC+
hibernate
4.3+
Spring
4.1整合demo
4. **整合
Spring
与
Hibernate
**:通过
Spring
的LocalSessionFactoryBean来创建SessionFactory,同时利用
Spring
的TransactionManager来管理
事务
。 5. **编写业务逻辑**:在
Spring
的Service层中注入DAO,使用
Hibernate
的...
Struts2+
Spring
+
Hibernate
框架技术与项目实战源码与PDF.3
通过源码分析,开发者可以了解到如何
配置
这三个框架,如何在Struts2的Action中调用
Spring
的服务,以及如何使用
Hibernate
进行数据库操作。PDF文档则可能包含详细的步骤指导、示例代码解析以及最佳实践建议。 学习和...
最新版本的Struts2+
Spring
4+
Hibernate
4三大框架整合(改进:增加整合Quartz和Gson)
2、
Spring
配置
提供了多种可选整合方案:详见applicationContext.xml的
配置
(1) 提供支持三种数据源方案:C3P0、DBCP、JNDI,三选一,请注释或删除其他方案 (2) 提取四种
Hibernate
整合方案:四选一,请注释或...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章