2016-04-29 25 views
0

私はCategoriesPostsのエンティティとテーブルを持っています。私は正常にデータベースに追加されている新しい投稿を維持していますが、オブジェクトがロードされているカテゴリリストに追加されていないようです。永続性OneToManyリストが更新時に更新されない

カテゴリー:

@OneToMany(fetch=FetchType.LAZY, mappedBy="categories") 
public List<Post> getPosts() 
{ 
    return this.posts; 
} 

私は単純にやっているデータベースに新しい投稿を追加するには:

Post newPost = new Post(..); 
entityManager.persist(newPost); 

をだから、新しいポストがデータベースに追加されますが、それは記事のリストと思われますカテゴリを取得する方法は次のとおりです。

Category category = entityManager.find(Category.class, id); 
カテゴリを取得する方法は次のとおりです。

そして、私はあなたが単一方向の関係を持って提供される情報からgetPosts()

答えて

1

からの投稿のリストを取得し、その後:

このシナリオを正常に動作させるには
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); 

persist(newPost)の前。

関連する問題