Как найти все по номеру, который начинается с Spring JPA? - PullRequest
0 голосов
/ 11 октября 2018

MyStore класс содержит itemNbr Integer.Я хочу найти все, где itemNbr начинается с xxxxxx

Я использую Spring Repository, как это.Это то, что я пытался

@Repository 
public interface TestRepository extends CrudRepository<MyStore, Long> {
    List<MyStore> findByItemNbrStartsWith(int itemNbr);
} 

Но это исключение

java.lang.IllegalArgumentException: Parameter value [2%] did not match expected type [java.lang.Integer (n/a)]
    at org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:54) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    a

1 Ответ

0 голосов
/ 12 октября 2018

С методами по умолчанию вы не можете.

Однако вы можете написать свой собственный @Query примерно так, а затем передать itemNbr в виде строки.

@query("from MyStore where CAST(itemNbr as text) like CONCAT(:itemNbr, '%')")
List<MyStore> findByItemNbrStringStartsWith(String itemNbr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...