我試圖在休眠中編寫搜索查詢。我從開放源代碼中獲得幫助。 所以我的查詢:如何在休眠中編寫搜索查詢
public User getAllUser(String search) {
String[] searchItems = search.split(" ");
try {
String sqlQuery = "SELECT * FROM USER u " + "WHERE u.deleted = 1 ";
sqlQuery += "AND (";
for (int i = 0; i < searchItems.length; i++) {
if (i != 0) {
sqlQuery += " OR ";
}
sqlQuery += "(" + "lower(u.last_name) LIKE '"
+ StringUtils.lowerCase("%" + searchItems[i] + "%")
+ "' " + "OR lower(u.first_name) LIKE '"
+ StringUtils.lowerCase("%" + searchItems[i] + "%")
+ "' " + "OR lower(u.username) LIKE '"
+ StringUtils.lowerCase("%" + searchItems[i] + "%")
+ "' " + ") ";
}
sqlQuery += ")";
log.debug("sqlQuery : " + sqlQuery);
Query query = sessionFactory.getCurrentSession().createQuery(
sqlQuery);
return (User) query.list().get(0);
} catch (HibernateException e) {
e.printStackTrace();
}
return null;
}
它說,有一個意外的道理,我,但我沒有發現它在哪裏。
所以我有兩個問題:
- 如何使它發揮作用。
- 如何使用標準和投影/限制休眠
關於閱讀的文檔和javadoc的如何? http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#querycriteria – 2012-01-31 13:23:54
您是否每次都會收到此錯誤,或者是否與特定的搜索字符串發生關聯?你能給出一個導致錯誤的SQL輸出的例子嗎? – Digbyswift 2012-01-31 13:31:18
嗨@perissf我沒有明白... – rokonoid 2012-01-31 13:48:40