Spring Dataでメソッド名に列挙値を入れる方法はありますか?これは@Query
、次のような注釈を付けて行うことができます。
@Query("select t from Ticket as t where t.status != desk.enums.TicketStatus.CLOSED")
List<Ticket> findActiveTickets();
ここで、statusは列挙型です。しかし、メソッド名だけを使用してそれを行うにはどうすればよいでしょうか。のようなものを使用すると、List<Ticket> findByStatusIsNotClosed();
が発生しNo property isNotClosed found for type TicketStatus
ます。
では、使用せずにどのようにそれを行うことができ@Query
ますか?
Java 8を使用している場合default
は、インターフェースでキーワードを使用して、より一般的なメソッドに委任できます。
default List<Ticket> findActiveTickets() {
return findByTicketStatusNotIn(ImmutableList.of(TicketStatus.CLOSED));
}
List<Ticket> findByTicketStatusNotIn(List<TicketStatus> status);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加