libro
www.tuyano.com
初心者のためのSpring Framework入門

JpaRepositoryを利用する (1/8)

作成:2015-08-08 10:51
更新:2018-02-01 19:59

■リポジトリ・インターフェイスを作成する

前回、データベースアクセスの基本についてざっと説明をしました。このとき、データの検索については「JPQL」と呼ばれるクエリー文を使って行う、ということを説明たのを覚えているでしょうか。

この説明を読んで、「え゛~~~」と思わず唸った人もきっと大勢いたことでしょう。SQLなんてものを見たくないがためにフレームワークを使おうと思ったのに、まさかのSQLモドキが待ち構えていたとは……。

が、しかし安心して下さい。Spring Frameworkには、もっとスマートにデータ検索を行うための仕組みがちゃんと用意されています。それは「JpaRepository」と呼ばれるものです。

JpaRepositoryは、インターフェイスです。インターフェイスに、あらかじめ検索メソッドを定義しておくことで、メソッドを呼び出すだけでスマートにデータ検索が行えるようになるのです。「でも、そのメソッドの中では、JPQLを使って検索処理を書くんでしょ……」と思った人、まぁちょっとだけ我慢して下さい。決して損にはなりませんから。

まずは、JpsRepositoryのインターフェイスを作ってしまいましょう。com.tuyano.libro.dbパッケージ内に、「SampleEntityRepository.java」というファイル名でソースコードファイルを作成して下さい。そして、下のリスト欄のようにインターフェイスを記述しましょう。

JpaRepositoryインターフェイスは、org.springframework.data.jpa.repositoryパッケージの「JpaRepository」というインターフェイスを継承して作成します。このインターフェイスは、総称型に対応しています。コードを見ると、こんな形で書かれていることがわかるでしょう。
public interface 名前 extends JpaRepository <エンティティ , IDタイプ>
<>内には、エンティティのクラス名と、IDフィールドのタイプが指定されます。注意したいのは、「基本型の場合は、ラッパークラスを指定する」という点です。サンプルのSampleEntityクラスではlong型をIDに指定していますので、ここでは<SampleEntity, Long>としてあるわけですね。

もう1つ、注意しておきたいのは、アノテーションです。クラスの宣言前に、「@Repository」というアノテーションがつけられていますね。これにより、このインターフェイスがJpaRepositoryであることを示します。これは必ず付けておくようにしましょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

package com.tuyano.libro.db;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface SampleEntityRepository
    extends JpaRepository <SampleEntity, Long> {
}

※関連コンテンツ

「初心者のためのSpring Framework入門」に戻る