我有一個休眠的SQL查詢是這樣的:如何使用like和%來做Hibernate查詢?
public void funcA(String str) {
StringBuilder sql = new StringBuilder();
sql.append("select fieldA from tableA where fieldB like '%:searchKey%'");
...
session.createSQLQuery(sql.toString())
.addScalar("fieldA", StandardBasicTypes.STRING)
.setParameter("searchKey", str);
...
}
,當我作出這樣query.list()
查詢時,我得到了以下錯誤:
[WARNING ] SQL Error: -7, SQLState: 42601[ERROR ] The character "%" following "fieldB like" is not valid.
[ERROR ] An error occurred during implicit system action type "2". Information returned for the error includes SQLCODE "-7", SQLSTATE "42601" and message tokens "%|fieldB like".
我可以知道我怎麼能解決這個問題?
如果fieldA是長整型還是非整型?然後休眠不喜歡字符串。我仍然想做一個「模糊」匹配(即包含使用%%),但列是一個長。 Mysql查詢很好,但它似乎並不像冬眠。 – 2016-04-11 16:39:06