この質問はおそらく Hibernate と関係がありますが、Play は Hibernate を難読化しているため、とにかくわかりません...
次のサンプル コードを見てみましょう: ユーザーは多数の投稿を持っています。
public class User extends Model{
...
@OneToMany(mappedBy="author")
public List<Post> posts;
}
public class Post extends Model{
...
@ManyToOne
public User author;
}
で投稿を作成するときnewPost
、User=John
なぜ を呼び出さなければならないのJohn.add(newPost)
ですか?
John と newPost は既にデータベースに登録されています。呼び出しがなくても.add
、テーブルには外部キーの制限があります。.add
メソッドを呼び出すと、実際に何が起こっているのでしょうか?