2017-11-08 21 views
0

Spring JPAのヘルプが必要です。私は交通チケットを取得したときに誰が車をチェックアウトするのかを知りたいとします。 licenseNumSpring JPA findBy 2つまたは条件

  1. citationDatecheckoutDateより大きく、citationDatereturnDateよりも小さくなるように。または
  2. citationDatecheckoutDateより大きく、returnDatenullである。現在

List<SomeEntity> findByLicenseNumAndCheckOutDatetimeBeforeAndReturnDatetimeAfterOrReturnDatetimeIsNullOrderByIdDesc() 

は正しく#1を生成するがreturnDatenullですべてlicenseNumを生成します。

'or'ステートメントを使用して春のJPA文を正しく記述するにはどうすればよいですか?

+0

Springデータ[メソッドは、ネストされた/グループ化された制約をサポートしていません](https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#query-by-example.usage)あなたが探しているものは不可能です。 – manish

+0

シンプルなfindByNameより複雑な用途の場合は、メソッドに意味のある**良い名前を使用し、80文字を使用せず、クエリで注釈を付け、JPQLを記述します。 –

答えて

0

実際には、Query注釈を使用してカスタムクエリを指定できると考えることができます。 Yonはより意味のあるメソッド名を選択でき、維持/変更が容易です。

関連する問題