JPAのカスタマイズ 職業訓練89日目
JPAのカスタマイズとは?
JPAのカスタマイズとは簡単に言うとRepositoryの中にSQL文を記載しデータベースを操作するためのものです。
@Queryアノテーション
@Queryアノテーションを使うことでJpaRepostioryから継承しているメソッド以外も使用できます。ここにSQLを記載します。
ただしここに記載するのは純粋なSQLではなくJPQLという擬似SQLです。様々なRDMSで独自に実装されているSQLの差異を吸収してくれます。
----------------------------------------------------------------------------(例文)
@Query("SELECT u FROM Users u WHERE u.name = :name)
List<User> findByName(@Param("name")String name);
----------------------------------------------------------------------------
(解説)
nameを条件に検索するメソッドを作っています。
SQLの*に当たる相当する部分にEntityクラスの別名を置く。メソッドの引数に:を付与してクエリで参照。
コントローラクラスで使う場合はこの場合は「findByName」メソッドをコールすることSELECT文を記載したJPQLをデータベース上で処理することができます。
----------------------------------------------------------------------------
基本的な文はこれでカバーできます。INSERTやUPDATEなど。これを使ってユーザー情報の新規登録、パスワード変更などのデータ更新もできます。気が向いたらそのアプリケーション作って、ソースコード載せます!
それは今日はこの辺で失礼します。
この記事が気に入ったらサポートをしてみませんか?