Я реализовал простой объект ejb с аннотацией @version. Я ожидаю, что номер версии будет увеличиваться после каждого обновления объекта.JPA - @Version - увеличение на чтение
@Version
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
this.version = version;
}
Но это, похоже, не работает должным образом. Также каждый раз, когда я читаю объект, номер версии автоматически увеличивается (!?). Я ожидаю, что версия только увеличится после фиксации?
Может ли кто-нибудь объяснить, почему моя версия увеличивается и при чтении?
Какой тип блокировки стратегии вы используете и режим блокировки применяется к объекту. –
Я не установил никакой блокировки в моем коде. Я однажды установил FlushModeType.COMMIT в своем EJB, который имеет дело с сущностями. Но это, похоже, не имеет никакого влияния. 'manager.setFlushMode (FlushModeType.COMMIT);' Я бегу GlassFish 3.1.1 и с использованием базы данных MySQL с XADataSource – Ralph
Включите код для чтения и журнал SQL для фиксации. Убедитесь, что вы не меняете объект. – James