0

私はこのような多くの議論を持つカテゴリーを持っています:

@OneToMany(mappedBy="category", fetch= FetchType.EAGER)
List<Discussion> discussions =  new ArrayList<Discussion>();

との新しい議論を保存することによって

Discussion discussion = new Discussion();
discussion.setCategory(category);
discussion.setTitle(text);
discussionFacade.create(discussion);

category.getDiscussions();を呼び出す。新しいものが表示されません(再デプロイするまで)。最良の方法は何ですか?カテゴリに関するディスカッションを追加するメソッドを作成したくありません(例:category.addDiscussion(discussion))。

ご協力いただきありがとうございます

4

2 に答える 2

1

refresh()データベースからエンティティを取得するまで、リストは更新されません。ただし、別のメソッドは必要ありません。次のaddメソッドを使用してくださいArrayList

discussions.add(discussion);
于 2012-04-24T11:43:51.453 に答える
1

双方向の関連付けを扱う場合、実際に両端で関連付けを設定する便利なメソッドをいくつか記述する必要があります。

所有側と見なされるエンティティを永続化した後、基礎となる JPA プロバイダーは、関連するエンティティを永続化する必要があるかどうかを判断します (CASCADING 構成に応じて) が、デフォルトでは、エンティティ (この場合はディスカッション インスタンス) は永続化によって管理されます。コンテキストですが、DB からは更新されません。したがって、これは正常な動作です。

于 2012-04-24T11:40:41.557 に答える