liferay
Liferayでの動的SQLクエリとカスタムSQLクエリの使用
サーチ…
前書き
余りにも多くの句でデータベースを照会したり、複数のテーブルを扱う必要があるときに、liferayのサービスレイヤーを扱うときのシナリオがあります。そのような場合、次のいずれかを使用します。
1)動的クエリ(Hibernate criteria APIのラッパー)
2)カスタムSQLクエリ
備考
Liferayで動的クエリを使用する
サービス層からのエンティティを含むほとんどのシナリオでは、ファインダの助けを借りて、デフォルトのサービス呼び出しを行うことができます。複数のエンティティを含む単純なシナリオでは、動的クエリAPIを使用します。これはラッパーAPIですHibernateで使用されているCriteria APIのために使用されます。これは、本質的にあまり複雑ではない動的クエリーを生成する必要がある場合に使用できます。まず、最も一般的に使用される構文の一部をDynamicQueryFactoryUtil示しますDynamicQueryFactoryUtil - クエリを作成するために使用されます
RestrictionsFactoryUtil - 特定の値との比較のために制限を与えるために使用されます。特定の値または範囲内に一致する結果を絞り込むなど
ProjectionFactoryUtil - 実体全体を提供する代わりに、検索結果の一部となるフィールドを取得するための投影を提供するために使用され、特定のフィールドのみを提供したり、集約関数(min.max、avgなど)を適用します。
PropertyFactoryUtil - エンティティクラスからのいくつかのプロパティの比較に使用され、主にクエリの他のフィールドとコンパイルします。
これらのクラスの実装は、利用可能なすべてのメソッドを含むdao.orm.jpaパッケージにあります