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"/>

 

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

你可能感兴趣的:(openjpa)