JPQL入門

求人
JPQL入門

JPAでDBからデータを取得するSQLをJPQLと言います。

@QueryアノテーションでJPQLを記述しますが、通常のSQL構文と少しだけ構文が変わります。

以下は簡単なJPQLの例です。

上記では、mがエイリアスです。select *ではなくselect mとします。value = は省略可能です。

JPQLで注意しないといけないのはテーブル名はエンティティクラス名を書く、カラム名はエンティティクラスのフィールド名を書く、という点です。

実際のテーブル名がemp_masterであってもそのテーブルに対応するエンティティクラスがEmpMasterクラスであれば、JPQL文ではEmpMasterと書きます。

UPDATE文やDELETE文を書く

JPQL文でUPDATE文やDELETE文を書くにはアノテーションがいくつか増えます。

アノテーション 意味
@Transactional メソッドが異常終了すればロールバックされる
@Modifying update文を書くときに変更

コーディング例は以下の通りです。

LIKE検索をする

JPQLではLIKE検索ができます。バインド変数に%を付ける場合などは以下の通り記述します。

JPQLは色々制約がある

JPQLは色々と制約があるので、その場合はSQL文を書くしかありません。

SQLを記述する場合は、nativeQuery=trueとします。

以下、例です。

参考サイト:JPQLでFROM句に副問い合わせが使えない

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA