我有一個AbstractEntity類作爲超我所有entites的定義是這樣的樂觀鎖定列:OptimisticLocking和@OneToMany(mappedBy = ...)處理?
@Version
private long lockVersion;
現在,我經常得到實體OptimisticLockingExceptions,那些只在一個變化類似於下面的的mappedBy關係:
@OneToMany(mappedBy = Property.PROPERTY_DESCRIPTOR, cascade = { CascadeType.REMOVE })
private Set<Property> properties = new HashSet<Property>();
是否有可能從Hibernate樂觀鎖定中排除這些集合?實體在數據庫中根本沒有變化......只有其他人引用它。
這看起來很有前途......我會檢查它是否能解決我的問題。 – 2009-10-28 22:24:38
我已將此註釋添加到所有不會級聯合並或保持的mappedBy集合。 另一種解決方案是區分非託管實體的entity.getCollection()。add(...)和託管實體的em.refresh(實體)。這也避免了鎖定問題。 – 2009-10-29 09:13:25