【问题标题】:Hibernate search can be used with eclipse JPA provider?Hibernate 搜索可以与 Eclipse JPA 提供程序一起使用吗?
【发布时间】:2016-07-21 10:59:07
【问题描述】:

Hibernate 搜索可以与 Eclipse JPA 提供程序一起使用吗?

<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>

在使用带有 eclipselink JPA 的 Hibernate 搜索时出现此异常。

 FullTextEntityManager fullTextEntityManager = org.hibernate.search.jpa.Search.getFullTextEntityManager(ClientEntityManagerHelper.getEntityManager());


// create native Lucene query unsing the query DSL
// alternatively you can write the Lucene query using the Lucene query parser
// or the Lucene programmatic API. The Hibernate Search DSL is recommended though
QueryBuilder qb = fullTextEntityManager.getSearchFactory()
    .buildQueryBuilder().forEntity(WikiPage.class).get();
org.apache.lucene.search.Query luceneQuery = qb
  .keyword()
  //.onFields("name", "content", "authors.name")
        .onFields("name", "content", "pageSummary")
  .matching("wiki")
  .createQuery();

异常内容:

线程“主”org.hibernate.search.SearchException 中的异常:尝试在没有 Hibernate EntityManager 的情况下使用 Hibernate Search:类 org.eclipse.persistence.internal.jpa.EntityManagerImpl

【问题讨论】:

  • 好吧,既然 Hibernate Envers 和 Search 是建立在 HIBERNATE 之上的,那么你就需要 Hibernate ...

标签: java jpa search eclipselink hibernate-search


【解决方案1】:

Hibernate Search 强制您使用 Hibernate 作为您的 JPA2 实现。您不能将 EclipseLink 与 Hibernate Search 一起使用。

这里有一个项目可以让 EclipseLink 和其他 JPA2 实现使用 Hibernate Search:

https://github.com/s4ke/hibernate-search/tree/genericjpa/genericjpa

【讨论】:

    猜你喜欢
    • 2011-02-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    • 2015-03-30
    相关资源
    最近更新 更多