Я использую JPA (реализация Hibernate) с JEE, работающим на WildFly 17 в Linux Ubuntu 18.04.
У меня есть следующий исходный код:
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public Ave daveAnlegen(Ave ave) {
Ave existingAve = checkExistsAve(ave.getStartDate(), ave.getObjekt());
if (existingAve != null) {
existingAve.setEndDate(ave.getEndDate());
existingAve.setKaufInteressenten(ave.getKaufInteressenten());
existingAve.setAveInvitLinks(ave.getAveInvitLinks());
existingAve.setAngebotType(ave.getAngebotType());
existingAve = this.em.merge(existingAve);
return existingAve;
} else {
ave = this.em.merge(ave);
return ave;
}
}
Когда я отлаживаю код У меня есть сценарий использования, в котором существующийAve НЕ НЕДЕЙСТВИТЕЛЕН, и строка
existingAve.setEndDate(ave.getEndDate());
исполняется, так что endDate изменяется с 13.02 на 14.02, я ожидаю, что после строки
existingAve = this.em.merge(existingAve);
выполняется и метод завершается, значение EndDate в базе данных изменится с 13.02 на 14.02, но этого не происходит. То же самое верно для поля AngebotType: я вижу, что после строки
existingAve.setAngebotType(ave.getAngebotType());
поле val ie меняется с "geschlossen" на "offen", но значение поля базы данных НЕ изменяется.
Любые предложения приветствуются!
Спасибо и всего наилучшего: Алекс