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など。これを使ってユーザー情報の新規登録、パスワード変更などのデータ更新もできます。気が向いたらそのアプリケーション作って、ソースコード載せます!

それは今日はこの辺で失礼します。

この記事が気に入ったらサポートをしてみませんか?