私はクラスレベルで@Where属性を持つHibernateエンティティに注釈を付けました。 これは、直接問合せするときにロードされるエンティティを制限しますが、そのクラスのコレクションには適用されないようです。それは期待されますか?Hibernate - クラスレベル@そのアノテーションはそのクラスのコレクションに適用されていませんか?
ドキュメントはこの上に明確ではない:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-class
(オプション):このクラスのオブジェクトを取得する際の条件が を使用する任意のSQLを指定します。
私には、そのクラスのオブジェクトが取得されるすべてのケースに当てはまるように聞こえますが、これはコレクションでは無視されています。
- これはコレクションのためのものですか?
- もしそうでなければ、クラスのすべてのインスタンスとそのクラスのすべてのコレクションにフィルタをグローバルに適用する最も良い方法は何ですか?
(UPDATE:私はドキュメントの問題を追跡するためにhttps://hibernate.atlassian.net/browse/HHH-6781を上げ) "のgetAll" または "LOADALL" を使用した場合
それはうまくいくようですコレクションのために、しかし、そうでなければ、ドキュメントはそれを明確にすべきです。私は発生しましたhttps://hibernate.onjira.com/browse/HHH-6781 – Rich
私は同じ問題が発生しているが、クラスを直接クライテリアAPIを介して 'createCriteria(MyEntity.class).scroll()'として照会するとき。あなたのケースでは、どのような方法でHQLまたはCriteria APIを使用していましたか? – Vlad
私は基準を使用していました:list()ではなくscroll()ですが、違いがあるとは思いません。 – Rich