質問: RelationTargetAuditMode.NOT_AUDITED) public Set **getBs();** ``` **それは最初のSUBSELECTを修正します。 しかし、私は要求されたリビジョン(私の場合#2)に対して存在しない場合、Bを照会しない標準的な解決策を見つけることができません。したがって、クエリは次のようになります。 ``` SELECT a_b_aud.a_id, a_b_aud.b_id FROM a_b_aud CROSS JOIN b_aud WHERE a_b_aud.b_id=b_aud.id b_aud.rev=2 AND a_b_aud.rev=2 ``` 私が見つけた唯一の解決策は、ネイティブのSQLクエリを使用して、それを実行するために、ハイバネートテンプレートを使用しています。 ResultTransformerを使用して結果値をエンティティAに変換します。 誰でもこの問題を助けてくれますか? 2番目のSUBSELECTを避けるために追加する必要がある標準の設定/注釈はありますか?**
回答: Enversには、要求されたときに関連エンティティをロードしないようにするオプションはありません。しかし、Bエンティティは(関係のアノテーションに関係なく)遅延ロードされているため、ロードするクエリを実行したくない場合は、単にそのフィールドにアクセスしないでください。 読み取りパフォーマンスを向上させるためには、有効性の監査戦略を検討することもできます。 [http://docs.jboss.org/hibernate/core/4.1/devguide/en-US/html/ch15.html#d5e4085](http://docs.jboss.org/hibernate/core/4.1/devguide/en-US/html/ch15 .html#d5e4085 ) をご覧ください。読み込み速度は速くなりますが、書き込み速度は遅くなります。