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());