当尝试将实体与JPA(eclipselink实现)合并时,它会在包含实体的每个操作上重复。为什么呢?
使其更具体:
我已经situation
了parcels
。如果我添加一个parcel
,一切正常。如果我在不离开视图的情况下添加两个parcels
(使用viewScoped支持bean),我将获得3 parcels
。
这怎么可能?
我在merge
上使用situation
方法保存添加的parcels
。
除了mergin之外,backingBean中没有其他任何事情发生。
答案 0 :(得分:0)
通过调用parcels
上的create方法而不是在situation
上调用合并方法(创建parcel)来解决此问题。因此,在实体上调用create而不是在包含实体上进行合并修复它。
由于hashCode和equals问题,newSituation上的合并不起作用。 (见The JPA hashCode() / equals() dilemma)