0

私にはエンティティがAありA、エンティティのセットがありますB。遅延読み込みを行います。Aすべての結果リストをロードするとき、それぞれAのサイズがBfor thatの一時的な値が必要ですA

サービスレイヤーでは、遅延読み込みを実行したため、これを実行できません。側で一時的な値を設定する必要がありdaoます。daoしかし、ロジックが側にないと聞いたことがあります。

私は何をすべきか?どんな説明でも大歓迎です。

4

4 に答える 4

1

Hibernate は「すべてかゼロか」のソリューションである必要はありません。目的に合ったストレート JDBC を自由に選択できます。

SELECT COUNT() FROM B選択した DAO で単純なクエリを作成し、作業を進めることをお勧めします。

または、A の DAO が常に B のサイズを必要とする理由を自問する必要があるかもしれません。DAO はステートレスであるべきだと思います。なぜあなたのものではないのですか?たぶん、デザインを再考する必要があります。あなたの質問からはわかりません。

于 2013-05-03T09:30:20.007 に答える
0

その追加情報をエンティティに追加することは、ビジネスロジックではなくデータアクセスの一部と見なされる可能性があるため、それを行うことができると私は主張します。

しかし、それは設計原則の違反についての質問に関するものです。ニーズに合わせて休止状態の可能性を活用するという Paul D'Ambra の提案は、より洗練されたソリューションのように思えます。

于 2013-05-03T09:41:29.207 に答える