首页 > 解决方案 > 如何使用 Hibernate 搜索来搜索多个字段?

问题描述

我正在尝试找到一种使用 Hibernate 搜索在我的数据库中搜索项目的方法。

我所拥有的是一个具有多个字段的实体,并且我要搜索的字段已被索引。我希望能够搜索项目fieldA==valueA && fieldB==valueB(如果用户选择更多搜索条件,可能会在此搜索中添加更多字段)。

我什至不确定我应该使用 Hibernate 搜索还是只构建一个自定义查询。

标签: javahibernate

解决方案


你试过hql查询吗?

Query q = s.createQuery("from foo Foo as foo where foo.name=:name and foo.size=:size");
q.setProperties(fooBean); // fooBean has getName() and getSize()
List foos = q.list();

来源:http ://docs.jboss.org/hibernate/core/3.5/reference/en/html/queryhql.html

编辑:

参见用于搜索不同字段的 Lucene 示例 https://stackoverflow.com/a/16009337/7141562

无论如何,我会继续使用 JPA/Hibernate 模式,因为它看起来更简单、更清晰的解决方案。


推荐阅读