【发布时间】:2016-12-20 11:16:42
【问题描述】:
请问我的 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 条语句是正确的,因为它们在其他功能中起作用。
只是在这个功能不起作用。谁能帮帮我。
谢谢。
【问题讨论】:
-
为什么会有“LIKE:”?冒号
:会让一些解析器感到困惑,他们认为后面跟着一个命名参数,除此之外有一个冒号是非法的 -
非常感谢,感谢您帮助调试我的错误,我应该休息一下休息一下。谢谢你。哈哈....
-
@NeilStockton 您应该添加您的评论作为答案。