我想编写一个查询,在实体中定义为列表的字段中查找包含特定字符串的记录。
这是我的jpa实体:
@Entity
public class Bank extends EntityBase<Bank> {
.
.
.
@Column(name = "sms_numbers")
@Convert(converter = StringListConverter.class)
private List<String> smsNumbers;
.
.
.
}
sql应该是这样的: select * from banks where sms_numbers like '%2000400%'
我的存储库是这样的:
@Repository
interface BankRepository extends RepositoryBase<Bank> {
@Query("SELECT b FROM Bank b WHERE b.smsNumbers LIKE '%2000400011%'")
List<Bank> findReservedSmsNumbers();
}
但是这段代码不起作用,因为bank.smsnumbers是list而不是string。
那我怎么解决呢?
1条答案
按热度按时间mbyulnm01#
在这种情况下,您可以使用本机查询而不是jpql,因此您的存储库将是: