我有這兩個實體有多對多的關係。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而不是? –