2015-11-23 194 views
1

嗨我有我的網絡應用程序的問題搜索功能。我希望它以小寫字母搜索,然後返回所需的適當數據,但我的代碼只接受正確的字母大小寫。這裏是代碼。我有2種方法搜索此休眠搜索不區分大小寫

1st String:La Fleur Petrus - >它返回正確的字符串 第2:la fleur petrus - >返回空,爲什麼?

 String sql_query = "SELECT * FROM `wine` WHERE name LIKE '%"+wineName+"%'"; 

    SQLQuery query = getSession().createSQLQuery(sql_query); 
    query.addEntity(Wine.class); 

    return query.list(); 

我也試過這個,但也失敗了。

 Criteria criteria = getSession().createCriteria(Wine.class) 
      .add(Restrictions.ilike("name", '%'+wineName+'%')) 
      .setMaxResults(30); 
    return (List<Wine>)criteria.list(); 
+1

也許你的數據庫考慮字符串的情況。 – Abdelhak

+0

整理你的意思是?我沒有檢查... –

回答

0

U可以使用側/上側兩邊

WHERE LOWER(column_name) like lower('%value%');

+0

它不適合我。 –

+0

爲什麼請在更改後分享您的查詢。 –

+0

String sql_query =「SELECT * FROM'wine' WHERE LOWER(name)LIKE'%」+ wineName.toLowerCase()+「%'」;這是變化.. –