EntityManager合并函数将obect的非设置值设置为null

时间:2016-02-17 11:00:29

标签: java hibernate jpa entitymanager

em.merge()将实体的未初始化属性更新为null ..

@PersistenceContext
public EntityManager em;

    em.merge(invoice);

在我的数据库中,它正在更新发票对象中设置的所有值, 以及它将其他人更新为null,因为在发票对象中这些值为空。

它的替代方案是什么,以便我只更新对象集值。

1 个答案:

答案 0 :(得分:0)

合并的工作原理是首先从您的数据库中选择要合并的实体(在本例中为发票)并检查每个字段是否有变化。如果它们现在为null,则将它们设置为null。

解决此问题的一种方法是传递整个实体或手动选择并设置您想要修改的字段。