Java %类似于spring JpaRepository中针对List类型属性的%Query<;字符串>;
我想写一个查询来查找字段中包含特定字符串的记录,该字段是 在我的实体中定义为列表 这是我的JPA实体:Java %类似于spring JpaRepository中针对List类型属性的%Query<;字符串>;,java,sql,spring-data-jpa,spring-data,jpql,Java,Sql,Spring Data Jpa,Spring Data,Jpql,我想写一个查询来查找字段中包含特定字符串的记录,该字段是 在我的实体中定义为列表 这是我的JPA实体: @Entity public class Bank extends EntityBase<Bank> { . . . @Column(name = "sms_numbers") @Convert(converter = StringListConverter.class) private List<Stri
@Entity
public class Bank extends EntityBase<Bank> {
.
.
.
@Column(name = "sms_numbers")
@Convert(converter = StringListConverter.class)
private List<String> smsNumbers;
.
.
.
}
但这段代码不起作用,因为Bank.smsNumbers是List而不是String
那么我该如何解决这个问题呢?在这种情况下,您可以使用本机查询而不是jpql 因此,您的存储库将是:
interface BankRepository extends RepositoryBase<Bank> {
@Query(value = "select * from banks b where b.sms_numbers like
concat('%',:sNumber,'%') " , nativeQuery = true)
List<Bank> findReservedSmsNumbers(String sNumber);
.
.
.
}
接口库扩展了RepositoryBase{
@查询(value=“select*来自银行b,其中银行b.sms\U编号如下
concat(“%”,:sNumber,“%”),nativeQuery=true)
列出findreservedsmsnumber(字符串sNumber);
.
.
.
}
在这种情况下,您可以使用本机查询而不是jpql
因此,您的存储库将是:
interface BankRepository extends RepositoryBase<Bank> {
@Query(value = "select * from banks b where b.sms_numbers like
concat('%',:sNumber,'%') " , nativeQuery = true)
List<Bank> findReservedSmsNumbers(String sNumber);
.
.
.
}
接口库扩展了RepositoryBase{
@查询(value=“select*来自银行b,其中银行b.sms\U编号如下
concat(“%”,:sNumber,“%”),nativeQuery=true)
列出findreservedsmsnumber(字符串sNumber);
.
.
.
}