Spring-openJPA 事务处理,导致自动生成update语句

接手一个企业项目.使用WAS6.1 ,选择了Spring + openJPA + Struts2 这么一个组合

在使用过程中,一直发现存在查询记录时,会生成相等记录数的update语句. 虽然对程序本身没有影响,但是感觉还是怪怪的.

还一度怀疑是不是因为使用了EntityListener造成的.删除了也没有用,排除listener.

 

浏览网络,检索了一下,  有一个问同一问题的,但是没有回答. 

这个

Spring配置中transactionAttributes的意义    文章中出现了一句话:

使用上述配置,在JPA打出的日志中显示每次查询时都要进行更新操作,查阅相关spring 的资料后发现

 

看来是因为Spring事务配置不当造成的.

 

把原先的全部使用事物,变成  get find 时 只支持事务,不新建事务,问题得到解决. 

 <tx:method name="get*"   propagation="SUPPORTS"/>
            <tx:method name="load*" propagation="SUPPORTS" />
            <tx:method name="list*"  propagation="SUPPORTS" />
            <tx:method name="find*" propagation="SUPPORTS"/>
          <tx:method name="*" propagation="REQUIRED" rollback-for="Exception"/>

 

周一组织测试一下.看看还有没有其他要注意的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值