Case-insensitive search using Hibernate

前端 未结 9 1307
长情又很酷
长情又很酷 2021-01-30 16:13

I\'m using Hibernate for ORM of my Java app to an Oracle database (not that the database vendor matters, we may switch to another database one day), and I want to retrieve objec

9条回答
  •  萌比男神i
    2021-01-30 16:43

    Since Hibernate 5.2 session.createCriteria is deprecated. Below is solution using JPA 2 CriteriaBuilder. It uses like and upper:

        CriteriaBuilder builder = session.getCriteriaBuilder();
        CriteriaQuery criteria = builder.createQuery(Person.class);
        Root root = criteria.from(Person.class);
    
        Expression upper = builder.upper(root.get("town"));
        criteria.where(builder.like(upper, "%FRAN%"));
    
        session.createQuery(criteria.select(root)).getResultList();
    

提交回复
热议问题