Gio*_*ato 5 lucene hibernate jpa hibernate-search
我可以使用 Hibernate Search 使用全文查询轻松搜索我的 JPA 实体:
FullTextEntityManager fullTextEntityManager =
Search.getFullTextEntityManager(this.entityManager);
QueryBuilder queryBuilder = fullTextEntityManager.getSearchFactory()
.buildQueryBuilder().forEntity(MyBean.class).get();
org.apache.lucene.search.Query luceneQuery = queryBuilder.keyword()
.onFields("foo", "bar").matching("needle").createQuery();
javax.persistence.Query jpaQuery = fullTextEntityManager
.createFullTextQuery(luceneQuery, MyBean.class);
List<MyBean> fulltextResult = jpaQuery.getResultList();
Run Code Online (Sandbox Code Playgroud)
这很棒。但是,如何luceneQuery在现有的 JPA 查询中组合 ?例如作为在CriteriaBuilder.where()表达式中使用的谓词。我认为这可能是可能的,因为 Hibernate Search 从其索引中检索实体标识符,并最终在 JPA 查询中使用它们来获取结果,但我不知道是否还有其他方法getResultList()可以在其他中间类型中获取查询,例如一个javax.persistence.criteria.Predicate.
| 归档时间: |
|
| 查看次数: |
642 次 |
| 最近记录: |