JPA合并更新关系图中的所有对象

时间:2015-07-12 08:26:20

标签: jpa ejb one-to-many cascade

我有一个实体与另一个实体

有一个关系
@LazyCollection(LazyCollectionOption.FALSE)
@OneToMany(mappedBy = "entity1", cascade = CascadeType.ALL)
private List<Entity2> entity2;

Entity2 ManyToOne with Entity1

@ManyToOne(cascade=CascadeType.MERGE)
@JoinColumn(name = "ENTITY1_ID")
private Entity1 entity1;

现在,我们有两个Entity1实例。每个实例只有1个实体2实例。我想更新一个Entity1对象和Entity2,但如果我使用

em.merge(Entity1)

它将触发两个更新语句并更新两个Entity2。但我想只更新与此Entity1关联的Entity2。

请建议,我在这里缺少什么。

1 个答案:

答案 0 :(得分:0)

可能是它迟到的答复。但对其他人可能有用。 尝试使用cascade.PERSIST并手动处理子实体的更新/合并。