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

JpaRepositoryを利用する (8/8)

作成:2015-08-08 11:08
更新:2015-08-08 11:08

■JpaRepositoryのメソッド命名規則について

JpaRepositoryでは、メソッド名の名づけ方さえわかれば、必要なメソッドをささっと書いて追加できてしまいます。処理は一切必要なし。ただメソッドの宣言文を書くだけです。ただし、「あらかじめ決められたルールに従ってきちんとメソッド名をつけてあれば」です。適当に名づけただけでは、メソッドは自動生成されないのです。

では、どのような形でメソッド名をつければいいのでしょうか。ここでその命名規則について簡単に整理しておきましょう。

●findBy○○
基本は、これです。「findBy」の後にエンティティのプロパティ名を続けて記します。このプロパティ名は、最初の1文字目は大文字にします。例えば、nameから検索するなら「findByName」ですし、mailから探すなら「findByMail」となるわけです。

これ以降は、この基本形である「findBy○○」の後に続けて書くものになります。

●Like/NotLike
「あいまい検索」に関するものです。Likeをつければ、引数に指定したテキストを含むものを検索します。またNotLikeをつけると、引数のテキストを含まないものを検索します。「findByNameLike」なら、nameから引数のテキストをあいまい検索する、というわけです。

●StartingWith/EndingWith
テキストの値で、引数に指定したテキストで始まるもの、あるいは終わるものを検索するためのものです。「findByNameStartingWith("A")」なら、nameの値が"A"で始まるものを検索します。

●IsNull/IsNotNull
値がnullのもの、あるいはnullでないものを検索します。引数は不要です。「findByNameIsNull()」なら、nameの値がnullのものだけを検索します。

●True/False
真偽値の値で、trueのもの、あるいはfalseのものを検索します。引数は不要。「findByCheckTrue()」なら、checkという項目がtrueのものだけを検索します。

●Before/After
日時の値で使うものです。引数に指定した値より前のもの、あるいは後のものを検索します。「findByCreateBefore(new Date())」とすれば、createという項目の値が現在より前のものだけを検索します(createがDateだった場合)。

●LessThan/GreaterThan
数値の値で使います。その項目の値が引数より小さい、あるいは大きいものを検索します。「findByAgeLessThan(20)」なら、ageの値が20より小さいものを検索します。

●Between
2つの値を引数に持ち、その2つの値の間のものを検索します。例えば、「findByAgeBetween(10,20)」とすれば、ageの値が10以上20以下のものを検索します。数値に限らず、日時の項目などでも使えます。


――この他にもまだありますが、とりあえずこれらが使えれば、基本的な検索はだいたいできるようになるでしょう。JpaRepositoryを使いこなせるようになれば、ほとんどノンコーディングでさまざまなデータ検索ができるようになります。非常に簡単ですので、サンプルをベースにいろいろと試してみてください。

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

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

※関連コンテンツ

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