[英]JPA: how to persist many to many relation
我有這兩個具有多對多關系的實體。
@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
。 那么我怎樣才能保存這種多對多的關系。 這里要注意一件事:我不想添加新語言。 我想用已經創建的語言添加新用戶。
將CascadeType.ALL
替換為CascadeType.MERGE
。
此外,在兩個實體上添加 setter。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.