我正在将Hibernate forJava应用程序的ORM用于Oracle数据库(不是数据库供应商很重要,有一天我们可能会切换到另一个数据库),并且我想根据用户提供的字符串从数据库中检索对象。例如,在搜索人员时,如果用户正在寻找居住在“ fran”中的人员,我希望能够将其人员提供给旧金山。
SQL不是我的强项,我更喜欢Hibernate的Criteria构建代码而不是硬编码的字符串。谁能指出正确的方向,说明如何在代码中执行此操作;如果不可能,则硬编码的SQL应该是什么样子?
Criteria
谢谢,
尤瓦尔= 8-)
对于您描述的简单情况,请查看Restrictions.ilike(),它执行不区分大小写的搜索。
Criteria crit = session.createCriteria(Person.class); crit.add(Restrictions.ilike('town', '%fran%'); List results = crit.list();