1
我的項目中有兩個實體:Membership
和User
。 A Membership
有User
。我想在Membership
上讀一個樂觀的鎖定女巫增量,所以我在使用find時添加了lockTypeMode。Hibernate LockModeType.OPTIMISTIC_FORCE_INCREMENT在其他實體上傳播
@Override
public Membership find(Long primaryKey) {
return em.find(type, primaryKey, LockModeType.OPTIMISTIC_FORCE_INCREMENT);
}
我添加了@Version註釋。 然而,當我測試,我得到這個錯誤:
Caused by: org.hibernate.AssertionFailure: cannot force version increment on non-versioned entity
at org.hibernate.persister.entity.AbstractEntityPersister.forceVersionIncrement(AbstractEntityPersister.java:1283)
at org.hibernate.action.EntityIncrementVersionProcess.doBeforeTransactionCompletion(EntityIncrementVersionProcess.java:51)
at org.hibernate.engine.ActionQueue$BeforeTransactionCompletionProcessQueue.beforeTransactionCompletion(ActionQueue.java:543)
... 55 more
然後我說@版本上User
並沒有更多的錯誤。但版本號在User
上遞增,所以我假設我會得到OptimisticLockException
,我不想要這種行爲。我如何擺脫User
的鎖?
那是不夠清楚嗎? – D0m3