JPA查询模式匹配

时间:2015-01-30 07:12:09

标签: hibernate postgresql jpa

我有一个JPA存储库方法和相应的查询

@Query(select sc from ScheduleEntry sc where sc.doo ~'[?1]')

安排findSchedule(String doo);

Doo是操作的日子,由以数字表示的星期几组成。 例如:如果操作日是星期一,星期三和星期五,那么doo = 135

现在我需要一个查询来查找在doo中具有任何一个给定日期的记录。 此查询适用于postgresql和sc.doo LIKE'%[?1]%'适用于sql。 但是这些都不是JPA查询工作。请帮忙

1 个答案:

答案 0 :(得分:-1)

您可以在JPQL中尝试这样的事情。

sc.doo LIKE '%3%' //-- this is true for values - 135, 345, 123 etc. anywhere in the string

您可以创建查询&传递参数。

Query query = entityManager.createQuery("SELECT sc FROM ScheduleEntry sc WHERE sc.doo LIKE :dooValue");

query.setParameter("dooValue", "%"+3+"%");