Case-insensitive search using Hibernate Case-insensitive search using Hibernate sql sql

Case-insensitive search using Hibernate


For the simple case you describe, look at Restrictions.ilike(), which does a case-insensitive search.

Criteria crit = session.createCriteria(Person.class);crit.add(Restrictions.ilike('town', '%fran%');List results = crit.list();


Criteria crit = session.createCriteria(Person.class);crit.add(Restrictions.ilike('town', 'fran', MatchMode.ANYWHERE);List results = crit.list();


If you use Spring's HibernateTemplate to interact with Hibernate, here is how you would do a case insensitive search on a user's email address:

getHibernateTemplate().find("from User where upper(email)=?", emailAddr.toUpperCase());