简体   繁体   English

hql-如何在休眠状态下选择条件查询

[英]hql - how to select conditional query in hibernate

i have data student at database. 我在数据库有数据专业的学生。 and have field called 'name', how to conditional query ignore case? 并有一个名为“名称”的字段,如何条件查询忽略大小写? i have data id=1,name=john i will get data from query in hibernate if i query ignore case name field, this is my code: 我有数据id = 1,name = john如果我查询忽略案例名称字段,我将从休眠中的查询中获取数据,这是我的代码:

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

if iam typing John or JOHN or jOhn or JOHn or etc i will get data from my database. 如果我输入John或JOHN或jOhn或JOHn等,我将从数据库中获取数据。 how to solve it? 怎么解决呢?

Use lower case in both sides: 两侧均使用小写字母:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM