一尘不染

使用Hibernate不区分大小写的搜索

hibernate

我正在将Java应用程序的ORM的Hibernate用于Oracle数据库(并不是数据库供应商很重要,有一天我们可能会切换到另一个数据库),我想根据用户提供的字符串从数据库中检索对象。例如,在搜索人员时,如果用户正在寻找居住在“
fran”中的人员,我希望能够将其人员提供给旧金山。

SQL不是我的强项,我更喜欢Hibernate的Criteria构建代码,而不是硬编码的字符串。谁能指出正确的方向,说明如何在代码中执行此操作;如果不可能,则硬编码的SQL应该是什么样子?

谢谢,

尤瓦尔= 8-)


阅读 236

收藏
2020-06-20

共1个答案

一尘不染

对于您描述的简单情况,请查看Restrictions.ilike(),它执行不区分大小写的搜索。

Criteria crit = session.createCriteria(Person.class);
crit.add(Restrictions.ilike('town', '%fran%');
List results = crit.list();
2020-06-20