【发布时间】:2014-09-16 14:08:23
【问题描述】:
我有以下 JPA 实体。
一个个人资料有很多用户,一个用户有很多个人资料:
@Entity
public class Profile implements Serializable {
@Id
private Long id;
@ManyToMany(cascade = CascadeType.ALL)
private List<User> users;
...
}
@Entity
public class User implements Serializable {
@Id
private Long id;
@ManyToMany(mappedBy = "users")
private List<Profile> profiles;
...
}
在我的应用程序中,当用户为 merged 时,配置文件会在数据库中更新。
但是,当个人资料为merged 时,用户不会更新。
是否可以映射我的实体以使双方合并他们的列表?
我正在使用 JPA 2.1 和 Hibernate。
【问题讨论】:
-
您是否尝试将级联选项 CascadeType.ALL 添加到两个关系?将其放在配置文件-> 用户关系上似乎与您的描述相反,即在合并配置文件时,不会合并用户。会不会是你们双方的关系都没有维系?
-
也可以只有CascadeType.MERGE
-
感谢您的帮助。我尝试了这个解决方案,但它不起作用。可能是另一个问题。