JpaRepositoryを利用する (6/8)
作成:2015-08-08 11:02
更新:2015-08-08 11:11
更新:2015-08-08 11:11
■リポジトリにメソッドを追加する
データベースのキモとなるのは、なんといっても「検索」です。必要に応じてデータを絞り込み自在に取り出せてこそ、データベースの威力が発揮できます。
それなのに、JpaRepositoryには、検索関係のメソッドは「findAll」しかありません。これでは使えない、なんて思ったかもしれませんね。が、JpaRepositoryの本当の威力は、検索にあるのです。インターフェイスに検索のためのメソッドを追加することで、どんどん必要な検索メソッドを用意できるのです。
実際にやってみましょう。下のリストを参考に、SampleEntityRepositoryインターフェイスを修正して下さい。ここでは、以下の2つの文を追加してあります。
単にメソッドの宣言文を書いているだけですが、注意して欲しいのはメソッド名です。これは、勝手に変更したりしないで下さい。必ず、ここにあげた通りの名前でメソッドの宣言を記述して下さい。これらのメソッド名には、意味があります。変更するとうまく機能しません。
それなのに、JpaRepositoryには、検索関係のメソッドは「findAll」しかありません。これでは使えない、なんて思ったかもしれませんね。が、JpaRepositoryの本当の威力は、検索にあるのです。インターフェイスに検索のためのメソッドを追加することで、どんどん必要な検索メソッドを用意できるのです。
実際にやってみましょう。下のリストを参考に、SampleEntityRepositoryインターフェイスを修正して下さい。ここでは、以下の2つの文を追加してあります。
public List<SampleEntity> findByNameLike(String name);1つ目の「findByNameLike」は、nameの値を使ってlike検索するためのものです。2つ目の「findByMailendingWith」は、mailの値が、指定したテキストで終わるものを検索します。
public List<SampleEntity> findByMailEndingWith(String mail);
単にメソッドの宣言文を書いているだけですが、注意して欲しいのはメソッド名です。これは、勝手に変更したりしないで下さい。必ず、ここにあげた通りの名前でメソッドの宣言を記述して下さい。これらのメソッド名には、意味があります。変更するとうまく機能しません。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
// ********************
// ※SampleEntityRepository.java
// ********************
package com.tuyano.libro.db;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface SampleEntityRepository
extends JpaRepository <SampleEntity, Long> {
public List<SampleEntity> findByNameLike(String name);
public List<SampleEntity> findByMailEndingWith(String mail);
}
※関連コンテンツ
「初心者のためのSpring Framework入門」に戻る