实体 - 从会话中检索的两个实体是否具有相同的值

时间:2016-06-16 02:21:29

标签: java hibernate jpa

我在接受采访时被问到,你说hibernate会话是活跃的,你从中检索一个实体 - 客户实体。您对实体进行了一些更改,但不通过调用em.flush或em.persist将其保存到数据库。现在,您再次从数据库中检索相同的实体。它会有你之前做过的改变吗?

2 个答案:

答案 0 :(得分:2)

第二次检索实体时,您获得与第一次完全相同的实体(即e2 == e1)。因为它是同一个对象,它会有所有的变化。

答案 1 :(得分:0)

是。它会有所有的变化。

这就是为什么它在EntityManger上有一个方法refresh(),以防您想要覆盖DB值的更改。