我已经与同事讨论了这种情况,但是我们无法解释为什么这样做。
我从数据库中获取了一个实体列表,而没有分离它们。
List<Announcement> announcements = new JPAQuery(em).from(QANNOUNCEMENT).where(QANNOUNCEMENT.customer.eq(p.getCustomer()).and((QANNOUNCEMENT.person.eq(p)).or(QANNOUNCEMENT.person.isNull()))).list(QANNOUNCEMENT);
修改一个值后,我得到一个执行以下内容的交易
em.merge(announcement);
em.flush();
结果是该实体已在数据库中更新,没有任何问题。
合并如何使非分离实体工作?