MyStore类包含itemNbr
整数。我想找到所有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
答案 0 :(得分:1)
使用默认方法不能。
但是您可以编写自己的@Query
这样的内容,
然后将itemNbr
作为字符串传递。
@query("from MyStore where CAST(itemNbr as text) like CONCAT(:itemNbr, '%')")
List<MyStore> findByItemNbrStringStartsWith(String itemNbr);