[[JHIPSTER一覧]] *** 目次 [#p4305405] #contents *** はじめに [#vee8edef] このページは、 https://www.jhipster.tech/entities-filtering/ のgoogle訳を、ほぼそのまま張り付けて、レイアウトを整えて、コメントを付けたものです。 翻訳時点での、JHIPSTERのバージョンは6です。 だれでも、編集可能です。気に入らなかったら修正してください。 * 前書き [#e29cf271] 基本的なCRUD機能がエンティティに実装された後は、エンティティの属性に対してさまざまなフィルタを作成するという非常に一般的な要求があるため、サーバーをより効果的に使用できます。これらのフィルタはリクエストパラメータとして送信する必要があります。そのため、どのクライアント(およびどのブラウザ)でも簡単に使用できます。さらに、これらのフィルタは、正当で簡潔なパターンに従うべきであり、それらを自由に組み合わせることを許可されなければなりません。 * 有効化する方法 [#ybf7736b] コマンドを使用してエンティティを生成するときは、 ※windowsだと、powershellじゃないと、むり jhipster entity 対象のエンティティ名 とすると、このエンティティでフィルタリングを有効にするためにサービスまたはサービス実装を選択メニューがでてきます。 既存のエンティティのフィルタリングを有効にしたい場合は .jhipster ファイルを設定します。 フィルタの設定範囲は、 - service - serviceClass - serviceImpl - no そして、jpaMetamodelFiltering から true です。 JDLで使用する場合は次の一文をJDLに記入してください。 filter <entity name> そして、次のコマンドで、再度jdlをインポートしなおしてください. jhipster import-jdl 修正したJDLファイル * 公開インターフェース [#r57198a5] エンティティごとにエンティティジェネレータでフィルタリングを有効にし、その後、/api/my-entity以下のパラメータを使用してGETエンドポイントを呼び出すことができます。 - 各xyzフィールド -- xyz.equals = someValue --- xyzが 'someValue'に等しいすべてのエンティティを一覧表示する -- xyz.in = someValue、otherValue --- xyzが 'someValue'または 'otherValue'に等しいすべてのエンティティを一覧表示する -- xyz.specified = true --- xyzがnullではないすべてのエンティティを一覧表示するには、指定します。 -- xyz.specified = false --- xyzがNULLのすべてのエンティティーをリストするには、指定なし。 - xyzの型が文字列の 場合 -- xyz.contains =何か --- xyzに 'something'が含まれているすべてのエンティティを一覧表示します。 - xyzが数値タイプまたは日付タイプのいずれかである 場合 -- xyz.greaterThan = someValue --- xyzが 'someValue'より大きい場合、すべてのエンティティを一覧表示します。 -- xyz.lessThan = someValue --- xyzが 'someValue'より小さいすべてのエンティティを一覧表示します。 -- xyz.greaterOrEqualThan = someValue --- xyzが 'someValue'以上の場合、すべてのエンティティを一覧表示します。 -- xyz.lessOrEqualThan = someValue --- xyzが 'someValue'以下であるすべてのエンティティを一覧表示します。 もちろん、それらは自由に組み合わせることができます。 このフィルタAPIの表現力を体験する良い方法は、あなたのJHipsterアプリケーションのAPIドキュメントページのswagger-uiからそれを使うことです。 * 実装 [#zab8816d] この機能を有効にするEntityQueryServiceと、and という名前の新しいサービスEntityCriteriaが生成されます。SpringはリクエストパラメータをEntityCriteriaクラスのフィールドに変換します。 では、EntityQueryServicecriteriaオブジェクトを静的でタイプセーフなJPAクエリオブジェクトに変換します。そのためには、ビルドで静的メタモデル生成を有効にする必要があります。詳細は JPA Static Metamodel Generator https://docs.jboss.org/hibernate/orm/current/topical/html_single/metamodelgen/MetamodelGenerator.html のドキュメントを参照してください。 生成された基準が機能し、Springが適切に設定EntityResourceIntTestされていることを証明するために、個々のフィルタごとに1つずつ、多数のテストケースが追加されています。 * 制限事項 [#sbf10fb6] 現在サポートされているのは(JPAを使用した)SQLデータベースのみで、個別のサービスまたは個別のサービス実装/インタフェースの組み合わせがあります。 * やってみる [#xc7e69fc] 翻訳はここまで、なんか、わかったようなわからないような。 ** JDLのフィルタを使ったサンプル [#a279599d] ** JDLのフィルタを使う記述例 [#a279599d] entity BankAccount { name String, amount Double } service BankAccount with serviceClass filter BankAccount ちなみに、filterは、アスタリスク表記OKみたい *** 参考 [#w7344f24] https://github.com/jhipster/jdl-studio/issues/37 * 動画 [#j07db307] https://www.youtube.com/watch?v=MTfOY5COv8U