2

私は JPA を介して GAE SQL クラウドを使用したいと思っていますが、これがうまくいかない場合は、JPA でデータストアを使用することに戻ります。

エンティティ A がエンティティ B を所有し、エンティティ B がエンティティ C、D、および E と関係を持つようにドメイン オブジェクトに注釈が付けられている場合、JPA にエンティティ A を要求すると、遅延ロードされない限りエンティティ B から E をロードできることがわかります。

私は JAX-RS を使用する予定なので、JAXB マーシャラーが作動すると、遅延読み込みによって完全なオブジェクト グラフがハイドレートされませんか?

公開されるものを制御するためのベスト プラクティスは何ですか?

私は現在、「すべてのユーザーを取得するが、その子供は取得しない」または「ログイン履歴を持つすべてのユーザーを取得する」と明示的に言う DAO レイヤーを作成することを考えています。JPA / JAX-RS でこのレベルの制御を行うことができますか、それとも SQL クエリと JDBC でこれを記述するのが最善でしょうか?

4

1 に答える 1

0

はい、エンティティ A を JAXB に送信すると、エンティティ B、C、および E がロードされ、関係が検査されます。

これを防ぐために、リレーションに で注釈を付けると@XmlTransient、ナビゲートされなくなります。

于 2012-12-10T10:43:32.650 に答える