2014-02-19 81 views
1

我發生時,我正嘗試查詢通過LIKE運算參數值數據的Hibernate查詢問題,下面是我做的代碼片段:如何在Hibernate HQL中使用LIKE運算符的參數化查詢?

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

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

上面的代碼alwasy有例外運行

對於使用其他查詢運算符(如=,!=,>)以及參數化值並且只是對此感到困惑,以及如何使用Hibernate查詢的類似運算符和參數化值來確定?

在此先感謝!

+0

FROM Customer WHERE username LIKE':username'..看起來你錯過了單引號! –

+0

http://forums.codeguru.com/showthread.php?483929-Using-Parameters-in-MySQL-LIKE-query –

回答

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