JPQL使用LIKE语句和AND条件

时间:2016-08-13 16:50:21

标签: java sql jpa jpql

我可以问我的JPQL语句是否包含任何错误?或者AND条件不能与LIKE语句一起使用?

public List searchByTime(String from, String to, String a){
 Query q = em.createQuery("SELECT e FROM EnrollmentDetails e WHERE (e.startTime >= ?1 AND e.endTime <= ?2) AND (e.offerCode.offerCode LIKE: ?3)");
 q.setParameter(1,  from);
 q.setParameter(2,  to);
 q.setParameter(3,   a + "%");
  List l = q.getResultList();
  return l;
} 

每当我删除AND (e.offerCode.offerCode LIKE: ?3)和  q.setParameter(3, a + "%");,然后声明是有效的,但没有结果我想要的。

我很确定我删除的2个语句是正确的,因为它们在其他函数中起作用。

只是在这个功能不起作用。任何人都可以帮助我。

谢谢你。

1 个答案:

答案 0 :(得分:0)

:关键字后面有一个冒号LIKE,这是非法的。 :只能用作命名参数的一部分。删除它,它可能会起作用