日期:2014-05-20  浏览次数:20903 次

Spring中的@Transactional用法疑问
使用了ssh框架
在Action指定的方法上打了@Transactional标注,实现了事务控制,但有一个问题

如果Action中有查询得到一个上万条的数据列表,放到list中,再经过处理存到另一张表

经试验证明,在查询到数据列表的这个连接一直没有释放,而是随着整个Action方法完后成才提交的,然后释放了,因为这一切都是spring控制的

有没有办法在查询到数据列表时连接就释放了,只是在处理数据放到另一张表时用事务

急救,不然这个处理过程连接就会一直占用

------解决方案--------------------
@Transactional还有属性可以进行控制,查询的方法设置readonly
------解决方案--------------------
在查询的那个方法 加@Transactional 然后指定 propagation 值为NOT_SUPPORTED