我有这两个实体有多对多的关系。JPA:如何坚持多对多的关系
@Entity
public class User {
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private List<User> users = new ArrayList<User>();
}
@Entity
public class Language {
@ManyToMany(mappedBy = "languages")
private List<User> users = new ArrayList<User>();
}
我已经在我的语言表中保存了20种语言。现在,我想要创建一个用户,并在语言表中将该用户与第一语言联系起来。所以我做了这样的事情
Language selectedLanguage = languageService.findById(1);
stammdaten.getLanguages().add(selectedLanguage);
stammdatenService.save(stammdaten);
但是,这给了我错误org.hibernate.PersistentObjectException: detached entity passed to persist: com.example.outgoing.Entity.Language
。那么我怎样才能挽救这么多关系。有一点需要注意:我不想添加新的语言。我想用已经创建的语言添加新用户。
您的代码中存在错误,我认为...用户实体应该有List而不是? –