2014-03-05 73 views
0

我有一個搜索框需要搜索不同的字段,如名字,姓氏和電子郵件。根據我現有的代碼,如果用戶輸入字符'm',所有用戶都會在所有電子郵件中顯示,並且所有用戶都擁有'm',它包含在.com中。如何搜索字段的一部分?

我想知道如何改變它能夠搜索fname,lname和電子郵件,但它會排除@在電子郵件中的所有字符。如yahoo.com,hotmail.com,yahoo.com.us等

criteria.add(Restrictions.disjunction() 
         .add(Restrictions.ilike("client.email", "%" + value + "%")) 
         .add(Restrictions.ilike("user.fname", "%" + query + "%")) 
         .add(Restrictions.ilike("user.lname", "%" + query + "%"))); 

回答

1

你可以試試:

criteria.add(Restrictions.disjunction() 
        .add(Restrictions.ilike("client.email", "%" + value + "%@%")) 
        .add(Restrictions.ilike("user.fname", "%" + query + "%")) 
        .add(Restrictions.ilike("user.lname", "%" + query + "%"))); 
相關問題