【问题标题】:How to use parameterized query for LIKE operator in Hibernate HQL?如何在 Hibernate HQL 中对 LIKE 运算符使用参数化查询?
【发布时间】:2014-03-19 04:45:20
【问题描述】:

当我尝试通过 LIKE 运算符使用参数化值查询数据时,出现了 Hibernate Query 问题,以下是我的代码片段:

String hql = "FROM Customer WHERE username LIKE :username";
Query query =sessionFactory.getCurrentSession().createQuery(hql);
query.setParameter("username", "%" + keyword + "%")

上面的代码总是运行异常:

Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: LIKE near line 1

可以将 =、!=、> 等其他查询运算符与参数化值一起使用,但对此感到困惑,我如何将 Hibernate 查询的 like 运算符与参数化值一起使用?

提前致谢!

【问题讨论】:

标签: mysql sql database hibernate hql


【解决方案1】:
String hql = "FROM Customer WHERE username LIKE ':username'";
Query query =sessionFactory.getCurrentSession().createQuery(hql);
query.setParameter("username", "%" + keyword + "%")

【讨论】:

    猜你喜欢
    • 2010-12-26
    • 1970-01-01
    • 2014-06-09
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-17
    相关资源
    最近更新 更多