Этот вопрос, вероятно, имеет отношение к 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)
?
Джон и newPost уже находятся в базе данных. Даже без вызова .add
таблицы имеют ограничения внешнего ключа. Что на самом деле происходит, когда я вызываю метод .add
?