HibernateでLike検索
@SuppressWarnings("unchecked") public List<Bean> findNameLike() { // 検索条件 String name = "name"; // セッション生成 SessionFactory sessionFactory = new Configuration().configure() .buildSessionFactory(); Session session = sessionFactory.openSession(); // 条件追加 Criteria criteria = session.createCriteria(Bean.class); criteria.add(Restrictions.like("name", name, MatchMode.ANYWHERE)); // データ取得 List<UsersBean> result = criteria.list(); return result; }
下の二つ違いがわかんない・・・
- Restrictions.like
- Restrictions.ilike
マッチモード
前方一致、後方一致、中間一致、完全一致が選べる。
省略した場合は、完全一致になる
- MatchMode.ANYWHERE
- like %name%
- MatchMode.START
- like %name
- MatchMode.END
- like name%
- MatchMode.EXACT(省略した場合と一緒)
- like name