1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Springの動的クエリの作成方法まとめ

Last updated at Posted at 2021-06-16

動的クエリの作成方法

調べたことをまとめてみる。間違っている所もかなりあると思いますがよろしくお願い申し上げます。
違っていたらコメント欄に書いていただけると嬉しいです。よろしくお願い申し上げます。

結論

作成方法は複数ある

方法

  1. Specifiacation
  2. QueryDSL

記述方法の種類

  1. NativeQuery(@queryアノテーションにSQLを直書き)
  2. JPQL
  3. CriteriaAPI

CriteriaAPIとSpecifiationはどちらを選ぶべきか?

結論:Specifiationを使うべき

SpecifiationはCriteriaAPIのラッパー

  • CriteriaAPIは作成した Predicateを再利用できない
  • Specifiationは再利用が可能

SpecifiationとQueryDSLのどちらを選ぶべきか?

結論:好みによる

JpaSecificationExecutorを使うと、標準のJPA CriteriaとMetamodel APIを中継する。
Metamodel API はマッピングに基づいてメタモデルを作成し、コンパイル時にタイプセーフにするために使用される。

一方、QueryDSLはJPAに限定されないフレームワーク。
JPAに限らず、SQL、Collections、MongoDB、Luceneなどでも利用が可能

参考URL(いつもありがとうございます)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?