如何使用Transactional注释停止锁定记录?

时间:2014-11-14 21:15:15

标签: java spring hibernate web

我的Web应用程序存在偶尔导致数据库死锁的问题。问题是在几乎相同的时间内得到2个请求。 1个请求尝试查询记录的状态,而另一个请求尝试更新同一记录。所以,甚至查询请求似乎也试图在读取时锁定记录。所以,我想知道我是否可以使用

@Transactional(readOnly = true)

强行读取而不锁定?

如果我们有实际读取的DAO库,我是否需要传播到Never。对我来说,这纯粹是只读的,所以我不明白为什么我需要交易。

@Transactional(readOnly = true, propagation = Propagation.NEVER) or 
@Transactional(readOnly = true, propagation = Propagation.NOT_SUPPORTED)

非常感谢使用Spring和Hibernate如何做到这一点。 我使用的是Spring 1.5,Hibernate 3.6和DB是MS SQL。

0 个答案:

没有答案