EclipseLinkで@AdditionalCriteriaを使用すると簡単に削除できますが、特定のクエリを実行する前に一時的に無効にする方法はありますか?EclipseLinkで@AdditionalCriteriaを無効にする方法はありますか?
7
A
答えて
6
はい、簡単な回避策で可能です。私はこのような@AdditionalCriteria注釈指定:
@AdditionalCriteria(":disableDeletedFeature = 1 or this.isDeleted = false")
をし、persistence.xmlで禁止フラグのデフォルトプロパティの値に指定:デフォルトのフィルタリングによってそう
<property name="disableDeletedFeature" value="0"/>
を有効になっていますが、それを無効にすることができますこのようなEntityManagerレベルで簡単に:
entityManager.setProperty("disableDeletedFeature", 1);
それは私のためにすべてうまく動作します、それは助けて欲しい!
1
ネイティブSQLクエリを使用する場合、条件は追加されません。
他のパーシスタンスユニットを作成したり、追加基準なしで別のクラスを作成したりしない限り、追加するのを簡単に無効にする方法はありません。
セッションプロパティに基づいて条件にOR条件を設定すると、このプロパティをtrueに設定すると条件を無効にできます。
拡張要求をログに記録して、オプションを追加してクエリに追加しないようにすることができます。
0
私はeclipselink 2.4.1を使用しています。ここ
@AdditionalCriteria(":disableDeletedFeature = '1' or this.isDeleted = false")
と:それは唯一のプロパティの値を引用符で動作し、私は回避策ではなく、推奨される解決策として、それを参照してください
entityManager.setProperty("disableDeletedFeature", '1');
関連する問題
- 1. eclipselink子クラスでAdditionalCriteriaが無視されました
- 2. k8sリスケジューラを無効にする方法はありますか?
- 3. after_findを無効にする方法はありますか?
- 4. Doctrine2エンティティを「無効にする」方法はありますか?
- 5. アンドロイドマーケットを無効にする方法はありますか?
- 6. EclipseLinkキャッシュを無効にする
- 7. アサーションを有効/無効にする方法はありますか?
- 8. JWplayerでフルスクリーンボタンをコードで無効にする方法はありますか?
- 9. シェルスクリプトでxtraceをサイレントに無効にする方法はありますか?
- 10. SwiftでUIButtonのマルチクリックを無効にする方法はありますか?
- 11. CocoaPodsでデフォルトのpchファイルを無効にする方法はありますか?
- 12. VSCodeでTypeScript警告を無効にする方法はありますか?
- 13. 特定のスプリングプロファイルでフライウェイを無効にする方法はありますか?
- 14. プログラミングでTebleViewのクリックを無効にする方法はありますか?
- 15. ListViewオブジェクトでダブルクリックイベントを無効にする方法はありますか?
- 16. Winフォームでボタンコントロールをグレーアウト/無効にする方法はありますか?
- 17. SQLAlchemyでDMLを無効にする良い方法はありますか?
- 18. docker-compose.ymlでサービスを無効にする方法はありますか
- 19. jQueryで関数を無効にする方法はありますか?
- 20. Office.jsで初期化タイマーを無効にする方法はありますか?
- 21. Arquillianテストで@DependsOnアノテーションを無効にする方法はありますか?
- 22. IIS7でアプリケーションプールのアイドルタイムアウトを無効にする方法はありますか?
- 23. ckeditorで保存ボタンを無効にする方法はありますか?
- 24. MFCでメッセージボックスを無効にする方法はありますか?
- 25. gwtでアドレスバーを無効にする方法はありますか?
- 26. Java EE 1.4 JSPでコメントを無効にする方法はありますか?
- 27. ttk.Comboboxのtkinterでタイピングを無効にする方法はありますか?
- 28. webpack 2でツリーシェイキングを無効にする方法はありますか?
- 29. HeidiSQLでカラムソートを無効にする方法はありますか?
- 30. アプリケーションでalt + F4を無効にする方法はありますか?
が、私は非常に同様にそれを実装していたので、(使用して@AdditionalCriteria( "this.deleted =:SOFTDELETED"))、私はこの答えを受け入れています。 @James、はい、Eclipselink開発wiki(http://wiki.eclipse.org/Talk:EclipseLink/Development/AdditionalCriteria)でネイティブレベルのサポートを実装する方法についての話があります。 – Kalle
クリストフとカレに感謝します。どちらのソリューションも私のためにPostgreSQLで動作しますが、disableDeletedFeature = 1はH2を使った単体テストでは機能しません。だから、私は@AdditionalCriteria( "this.blocked =:disableDeletedFeature OR this.blocked = false")を使用しました。 –