我在对象上设置锁定模式时遇到问题。
代码如下:
MyObject a = myQuery.getSingleResult();
logger.info(entityManager.getLockMode(a));
entityManager.lock(a, LockModeType.OPTIMISTIC_FORCE_INCREMENT);
logger.info(entityManager.getLockMode(a));结果是:
OPTIMISTIC
OPTIMISTIC我的对象A包含一个对象B的列表。每当B被修改时,我希望递增A,这就是我使用强制递增功能的原因。
但很明显,它根本不起作用。请帮帮忙好吗?
发布于 2013-04-11 16:41:36
经过多次搜索,我使用的是Hibernate 3.6.10最终版本,它有一个非常棒的bug:https://hibernate.atlassian.net/browse/HHH-5222
从读取到OPTIMISTIC_FORCE_INCREMENT的
升级失败
修复版本: 4.0.0.CR7
简而言之,默认情况下,锁被设置为READ,它的优先级高于OPTIMISTIC或OPTIMISTIC_FORCE_INCREMENT,因此您不能更改它。
所以我升级到了4.2.0,一切都很顺利
https://stackoverflow.com/questions/15930796
复制相似问题