カスタムRepositoryインタフェース 職業訓練90日目
カスタムRepositoryとは?
そもそもRepositoryとはデータベースに接続し、SQL(JPQL)文を発行しデータベースにデータを登録したり、編集したり、削除したり、検索したりする機能がJpaRepositoryから継承された機能として使用することができました。
しかし、それだけではGroup Byなどのサブクエリ文まで対応を敷いていません。(WhereはJpaから継承されている)したがって、サブクエリ文を発行するためのRepositoryを作ることができます。
カスタムRepositoryの仕組み
まずは処理の内容を記載したクラスを作成します。基本的に「カスタムRepository +Impl」という名前にします。
このカスタムRepositoryImplクラスにSQL(JPQL)文を発行するためのメソッドを記載します。
----------------------------------------------------------------------------
(例)
(CustomRepositoryImpl implements CustomRepository)
@Override
public List<entityクラス> countGroupByUserId(){
List<entityクラス>result=entityManeger.createNativeQuery{
"SLECT userid, name,count(*) from users"+
"GROUP BY userid;"Custom.class)getResultlist();
return result;}
-----------------------------------------------------------------
ログの件数などを数えるときに使うメソッド(SQL)だと考えるとイメージしやすいかと。
今日はこの辺で失礼します。
この記事が気に入ったらサポートをしてみませんか?