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. Doctrine2エンティティを「無効にする」方法はありますか?
- 2. アンドロイドマーケットを無効にする方法はありますか?
- 3. アサーションを有効/無効にする方法はありますか?
- 4. EclipseLinkキャッシュを無効にする
- 5. シェルスクリプトでxtraceをサイレントに無効にする方法はありますか?
- 6. IIS7でアプリケーションプールのアイドルタイムアウトを無効にする方法はありますか?
- 7. アプリケーションでalt + F4を無効にする方法はありますか?
- 8. Java EE 1.4 JSPでコメントを無効にする方法はありますか?
- 9. IE 7でSilverlightを無効にする他の方法はありますか?
- 10. プログラミングでTebleViewのクリックを無効にする方法はありますか?
- 11. ListViewオブジェクトでダブルクリックイベントを無効にする方法はありますか?
- 12. VS20010でXAMLのインテリセンスを無効にする方法はありますか?
- 13. Winフォームでボタンコントロールをグレーアウト/無効にする方法はありますか?
- 14. Windowsコンソールでエコーを無効にする方法はありますか?
- 15. gwtでアドレスバーを無効にする方法はありますか?
- 16. IndyのTIdHTTP.Get()でURLエンコーディングを無効にする方法はありますか?
- 17. ckeditorで保存ボタンを無効にする方法はありますか?
- 18. MFCでメッセージボックスを無効にする方法はありますか?
- 19. アプリ全体でフィクスチャを無効にする方法はありますか?
- 20. MagentoのREST APIでoAuthを無効/無効にする方法はありますか?
- 21. Windows-CEでWIFI無線を無効/有効にする方法はありますか?
- 22. ICSで位置情報サービスをプログラム的に有効または無効にする(有効または無効にする)方法はありますか?
- 23. OSXでインターネット共有をプログラムで有効または無効にする方法はありますか
- 24. IE8スクリプトのエラーメッセージを無効にする方法はありますか?
- 25. デフォルトオブジェクトの印刷を無効にする方法はありますか
- 26. TdxRibbon(DevExpressリボンコントロール)のコントロールを無効にする方法はありますか?
- 27. MFCリンクコントロールのデフォルト動作を無効にする方法はありますか?
- 28. Android AutoCompleteTextViewのスペルチェッカーを無効にする方法はありますか?
- 29. ResendRequestメッセージの送信を無効にする方法はありますか?
- 30. Akkaのデバッグ出力を無効にする方法はありますか?
が、私は非常に同様にそれを実装していたので、(使用して@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")を使用しました。 –