asd*_*lkj 2 java hibernate 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>();
}
Run Code Online (Sandbox Code Playgroud)
我的语言表中已经保存了 20 种语言。现在,我想创建一个用户并将该用户与语言表中的第一种语言相关联。所以我做了这样的事情
Language selectedLanguage = languageService.findById(1);
stammdaten.getLanguages().add(selectedLanguage);
stammdatenService.save(stammdaten);
Run Code Online (Sandbox Code Playgroud)
但这给了我错误org.hibernate.PersistentObjectException: detached entity passed to persist: com.example.outgoing.Entity.Language。那么我怎样才能保存这种多对多的关系。这里要注意一件事:我不想添加新语言。我想用已经创建的语言添加新用户。
替换CascadeType.ALL为CascadeType.MERGE。
此外,在两个实体上添加 setter。
| 归档时间: |
|
| 查看次数: |
13148 次 |
| 最近记录: |