2016-08-21 48 views
0

我有数据库的数据学生。 并且有名为'name'的字段,如何将条件查询忽略大小写? 我有数据ID = 1,名称=约翰 我会得到从查询数据在休眠,如果我查询忽略大小写名称字段,这是我的代码:hql - 如何在休眠中选择条件查询

List list = sessionFactory.getCurrentSession() 
       .createQuery("from Student where name = :param") 
       .setParameter("param", value) 
       .list(); 

如果IAM打字约翰或JOHN或约翰或JOHN或者等我会从我的数据库中获取数据。 如何解决?

+0

是所提供的答案是什么你在哪里找?如果是,请将答案标记为正确的解决方案。如果不是,我可以为你提供一个“解决方案”。 – DanielK

回答

0

使用在两侧小写:

List list = sessionFactory.getCurrentSession() 
       .createQuery("from Student where lower(name) = :param") 
       .setParameter("param", value.toLowerCase()) 
       .list();