这个问题可能与 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
方法时实际发生了什么?