0

我使用 JPA(Hibernate 实现)和在 Linux Ubuntu 18.04 上的 WildFly 17 上运行的 JEE。

我有以下源代码:

@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;
    }
}

当我调试代码时,我有一个用例,其中 existingAve 不是 NULL 并且该行

existingAve.setEndDate(ave.getEndDate());

被执行,因此 endDate 从 13.02 更改为 14.02,我希望在该行之后

existingAve = this.em.merge(existingAve);

被执行并且方法完成时,数据库中 EndDate 的值将从 13.02 更改为 14.02,但这不会发生。字段 AngebotType 也是如此:我在该行之后看到

existingAve.setAngebotType(ave.getAngebotType());

字段值从“geschlossen”更改为“offen”,但数据库字段的值不会更改。

欢迎任何建议!

谢谢和亲切的问候:亚历克斯

4

0 回答 0