2016-12-01 8 views
0

私は私がこれを行うことができたLaravelフレームワーク、で動作するように使用され、生徒の年齢は18春のブートで関係を照会する方法は?

よりも大きくなっている教師のための学生を取得したい:

$AdultStudents = $teacher->students->where('age'>18);

されていますmysqlクエリを使用せずにSpring Bootでこれを行う方法はありますか?私は、JPA Repositoryの単一のメソッドを使用することを意味します。

teacher.getStudents().whereAgeGreaterThan(18);

答えて

2

はい、あなたはメソッドのパラメータとして値を渡しSpring Data query method rulesごとに方法を命名してクエリを構築することができ、あなたのJPA春データレポを持っていると仮定:私たちはこのような何かを言ってみましょう。 `findByTeacherAndAgeGreaterThan(:先生のためにそれを取得するために、それはこのようにする必要がありますので、

findByAgeGreaterThan(Integer age) 
+0

感謝:Studentを想定すると、ageという名前のメソッドを属性を持つStudends DAO中にあなたの例では

整数のID、整数の年齢); ' ' teacher.getStudents() 'の関係から使用する方法はありませんか? –

+1

'Student'のエンティティとそれに対するJPAリポジトリがあると仮定すると、' List findByTeacherIdAndAgeGreaterThan(Long id、Integer age) 'というシグネチャを持つメソッドを構築することができます。この特定のゲッターは、ビジネスロジックでフィルタリングをしない限り、ここでは役に立ちません。 – Vaelyr

+0

助けてくれてありがとう:) –

関連する問題