当我试图通过LIKE运算符使用参数化值查询数据时,我遇到了一个Hibernate Query问题,以下是我的代码片段:
String hql = "FROM Customer WHERE username LIKE :username";
Query query =sessionFactory.getCurrentSession().createQuery(hql);
query.setParameter("username", "%" + keyword + "%")
以上代码运行alwasy,但有例外:
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: LIKE near line 1
可以使用其他查询运算符,例如=,!=,>使用参数化值,只是对此感到困惑,如何使用Hibernate查询类似操作符和参数化值?
提前致谢!
答案 0 :(得分:1)
String hql = "FROM Customer WHERE username LIKE ':username'";
Query query =sessionFactory.getCurrentSession().createQuery(hql);
query.setParameter("username", "%" + keyword + "%")