2012-05-11 37 views
1

假設我想用「like」來查詢用戶的名字和姓氏。這兩個字段在數據庫中分爲兩列。我如何查詢與像啓動模式(如abc%),這裏是sql查詢代碼;在兩個字段上創建Hibernate標準以及like查詢

Query query = getSession().createQuery("from UserAccount where name || ' ' || surname like '" + fullName + "%'"); 

如何用條件來做到這一點?

謝謝!

+0

有沒有解決方案?請幫忙! 「 –

+0

」正在使用DB2,但是PostgreSQL「在針對postgresql運行時得到了什麼? – Firo

+0

我又試了一次,現在PostgreSQL沒有問題。但我無法找到符合標準的人。 –

回答

1

其實很簡單。

Criteria criteria = session.createCriteria(UserAccount.class) 
    .add(Property.forName("name").like("abc")) 
    .add(Property.forName("surname").like("def")); 

代替Property.forName()一個可以使用Restrictions。例如:Restrictions.like("name", "abc")

+0

這不會幫助在兩列一起制定標準。這是一個查詢兩個字段分開。這只是幫助查詢name_field == name%和surname_field == surname%。我需要查詢name_field + surname_field ==(姓名+姓氏)% –