Questions tagged «pessimistic-locking»

10
乐观锁定与悲观锁定
我了解乐观锁定和悲观锁定之间的区别。现在有人可以向我解释我什么时候一般使用其中一个? 并根据我是否使用存储过程执行查询而改变了这个问题的答案? 但是仅仅检查一下,乐观的意思是“阅读时不要锁住桌子”,悲观的意思是“阅读时锁住桌子”。

17
该行已由另一个事务更新或删除(或未保存的值映射不正确)
我有一个在网络服务器上运行的Java项目。我总是碰到这个例外。 我阅读了一些文档,发现悲观锁定(或乐观,但我阅读悲观更好)是防止此异常的最佳方法。 但是我找不到任何清晰的示例来说明如何使用它。 我的方法是这样的: @Transactional Public void test(Email email, String Subject){ getEmailById(String id); email.setSubject(Subject); updateEmail(email); } 而: Email 是一个休眠类(它将是数据库中的一个表) getEmailById(String id)是一个返回的函数email(此方法未使用注释@Transctional) updateEmail(email):是一种更新电子邮件的方法。 注:我使用Hibernate进行保存,更新和等(例如:session.getcurrentSession.save(email)) 例外: ERROR 2011-12-21 15:29:24,910 Could not synchronize database state with session [myScheduler-1] org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [email#21] …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.