持久性

时间:2016-04-29 14:50:22

标签: hibernate jpa java-ee persistence

我有CategoriesPosts个实体和表格。我已经成功添加到数据库中的新帖子,但似乎没有将对象添加到已加载的类别列表中。

分类

@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()

获取帖子列表

1 个答案:

答案 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);