我有Categories
和Posts
个实体和表格。我已经成功添加到数据库中的新帖子,但似乎没有将对象添加到已加载的类别列表中。
分类
@OneToMany(fetch=FetchType.LAZY, mappedBy="categories")
public List<Post> getPosts()
{
return this.posts;
}
要将新帖子添加到数据库,我只需执行以下操作:
Post newPost = new Post(..);
entityManager.persist(newPost);
所以新帖子会被添加到数据库中,但是在我重新启动服务器或等待几分钟之前,类似的帖子列表似乎没有更新。这就是我获取类别的方式:< / p>
Category category = entityManager.find(Category.class, id);
然后我从getPosts()
答案 0 :(得分:1)
根据提供的信息,您可以获得单向关系:
x
要使此方案正常工作,您需要在创建和保留帖子时访问类别:
Category --> * Post
如果是双向关系,那么您还需要:
Category category = ...;
Post newPost = new Post(..);
category.getPosts().add(newPost);
entityManager.persist(newPost);
category = entityManager.merge(category); // may not be needed if category is already managed
之前的newPost.setCategory(category);
。