1

プロジェクトの休止状態で多くのクエリを書き終えました。要件が変更され、MySql にあるすべてのテーブルに新しい列名 ACTIVE が追加されました。ACTIVE列の追加を否定する権限はありません。ACTIVE フィールドは true または false の値を保持できるため、それも条件に追加する必要があります。それで、私が作成するすべてのクエリにその基準を設定するのではなく、作成するすべてのクエリに共通の基準制限を Hibernate に追加する方法があると考えていましたか?

編集:少し誤解していると思います。申し訳ありませんが、これを入力している間急いでいました。ACTIVE 列は、他のユーザーによってすでに true または false に設定されています。私が必要とするのは、起動するすべてのクエリに対して ACTIVE 列を持つレコードのみをグローバルにフィルタリングすることです。

このようなものですが、起動するすべてのクエリに対して ACTIVE='true' フィルターを hibernate に追加してもらいたいのですが、

select name from table where <other-conditions-here> and ACTIVE='true'

それが理にかなっていることを願っています。

よろしくお願いいたします。

スナヤン・サイキア

4

2 に答える 2

2

この目的のためにHibernateフィルターを使用できます。詳細については、ドキュメントを参照してください

于 2012-11-19T06:57:29.200 に答える
2

カスタムインターセプターを実装することをお勧めします。これにより、クエリをインターセプトし、実行ACTIVE前に条件を追加する必要があります。

インターセプターの詳細はこちら: Hibernate Interceptors

于 2012-11-19T06:24:33.153 に答える