カスタム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)だと考えるとイメージしやすいかと。

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


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