我在接受采访时被问到,你说hibernate会话是活跃的,你从中检索一个实体 - 客户实体。您对实体进行了一些更改,但不通过调用em.flush或em.persist将其保存到数据库。现在,您再次从数据库中检索相同的实体。它会有你之前做过的改变吗?
答案 0 :(得分:2)
第二次检索实体时,您获得与第一次完全相同的实体(即e2 == e1
)。因为它是同一个对象,它会有所有的变化。
答案 1 :(得分:0)
是。它会有所有的变化。
这就是为什么它在EntityManger
上有一个方法refresh(),以防您想要覆盖DB值的更改。