[[JHIPSTER一覧]]

*** 目次 [#p4305405]
#contents

*** はじめに [#vee8edef]
このページは、

https://www.jhipster.tech/entities-filtering/

のgoogle訳を、ほぼそのまま張り付けて、レイアウトを整えて、コメントを付けたものです。

JHIPSTERのバージョンは6です。
翻訳時点での、JHIPSTERのバージョンは6です。

だれでも、編集可能です。気に入らなかったら修正してください。



* 前書き [#e29cf271]
基本的なCRUD機能がエンティティに実装された後は、エンティティの属性に対してさまざまなフィルタを作成するという非常に一般的な要求があるため、サーバーをより効果的に使用できます。これらのフィルタはリクエストパラメータとして送信する必要があります。そのため、どのクライアント(およびどのブラウザ)でも簡単に使用できます。さらに、これらのフィルタは、正当で簡潔なパターンに従うべきであり、それらを自由に組み合わせることを許可されなければなりません。

* 有効化する方法 [#ybf7736b]
 jhipster entity
コマンドを使用してエンティティを生成するときは、このエンティティでフィルタリングを有効にするためにサービスまたはサービス実装を選択します。
コマンドを使用してエンティティを生成するときは、

既存のエンティティのフィルタリングを有効にしたい場合は.jhipster、serviceto serviceClass、serviceImplfrom no、jpaMetamodelFilteringto 、toに設定してからtrue再生成して、projects ディレクトリ内のエンティティ設定を変更できますjhipster entity <entity name>。
※windowsだと、powershellじゃないと、むり

JDLを使用する場合はfilter <entity name>、JDLファイルに1行追加して、jhipster import-jdlcommandを使用して定義を再インポートしてください。
 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'以下であるすべてのエンティティを一覧表示します。
-- 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のドキュメントを参照してください。
では、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]


 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

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS