一些关于hibernate 与 spring 事务管理的问题
问题相关内容,在下面的链接里
http://cy.lzu.edu.cn/blog/article.php?tid=489
http://spring.jactiongroup.net/viewtopic.php?p=5791
http://www.javaeye.com/t/17339.html
简单来说,就是因为lazy的问题,采用了org.springframework.orm.hibernate3.support.OpenSessionInViewFilter,
但是这东东不太友好哦!
目前我的解决办法如下:
spring原码不用改,
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter只管在web.xml文件里加载,不用带任何参数,
在业务层继承一个父类来管理事务:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--Base TransactionProxyed Service Bean-->
<bean id="baseTxService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager" ref="transactionManager"/>
<property name="proxyTargetClass" value="true"/>

<property name="transactionAttributes">
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="set*">PROPAGATION_REQUIRED</prop>
<prop key="change*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
</props>
</property>
<property name="preInterceptors">
<list>
<ref bean="methodSecurityInterceptor"/>
</list>
</property>
</bean>
</beans>
<bean id="infopathManager" parent="baseTxService" autowire="byName">
<property name="target">
<bean class="com.gdlinkway.ebop.infopath.manager.InfopathManager"/>
</property>
</bean>
业务层的方法名的前面关键字,自己加上去。
就这样子。
http://cy.lzu.edu.cn/blog/article.php?tid=489
http://spring.jactiongroup.net/viewtopic.php?p=5791
http://www.javaeye.com/t/17339.html
简单来说,就是因为lazy的问题,采用了org.springframework.orm.hibernate3.support.OpenSessionInViewFilter,
但是这东东不太友好哦!
目前我的解决办法如下:
spring原码不用改,
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter只管在web.xml文件里加载,不用带任何参数,
在业务层继承一个父类来管理事务:


































业务层的方法名的前面关键字,自己加上去。
就这样子。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架