多対多の関係を持つ2つのエンティティがあります。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の言語が言語表に保存されています。今、私はユーザーを作成し、そのユーザーに言語表の第1言語を関連付ける必要があります。だから私はこのような何かをした
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
を与える。では、どうすればこの多対多の関係を保存できますか?ここで注意すべき点は、私は新しい言語を追加したくないということです。私は既に作成された言語で新しいユーザーを追加したい。
あなたのコードには何か問題があります。ユーザーエンティティにリストが必要ですか? –