1

私は2つのエンティティを持っています:UserPost(関係1対多)。Postフィールド: idcreationDatetitlecontentuser

データはデータベースに保存され、Hibernate 経由でアクセスされます。

Post オブジェクトを JSON として JavaScript に渡すコントローラーがあります。その後、ウェブページに表示されます。ただし、必ずしもすべてのPostフィールドを渡す必要はありません。たとえば、ユーザーにタイトルと作成日のみを表示する必要があり、ユーザーがボタンを押した場合Show contentにのみ、投稿コンテンツを表示する必要があります (表示する必要がある場合にのみサーバーから要求したい)。

ここに問題があります: Post オブジェクトの content フィールドの遅延初期化を実装するにはどうすればよいですか? コントローラーに 2 つのメソッドを記述する必要があります。1 つは投稿のリストを含む JSON を生成し、コンテンツ フィールドをnullorに設定するメソッドで、もう 1 つStringはコンテンツ文字列のみを渡すメソッドですか?

4

2 に答える 2

1

投稿コンテンツをオブジェクトとし、db内の単一のテーブルにします。

Javaでは次のようになります。

public class Post {

  ...


  PostContent postContent;
}
于 2013-03-15T08:50:29.000 に答える
1

まず、DAO で遅延コレクションの初期化を試みることができますHibernate.initialize(lazyCollection)。うまくいかなかった場合はFetchType.EAGER、リクエスト中にセッションを使用するか開いたままにし、必要に応じてコレクションをフェッチする必要があります。

于 2013-03-15T08:55:33.023 に答える