2016-07-21 3 views
0

Поиск в спящем режиме может использоваться с поставщиком Eclipse JPA?Поиск в спящем режиме может использоваться с поставщиком eclipse JPA?

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

У меня есть это исключение при использовании поиска Hibernate с EclipseLink JPA.

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 Search без Hibernate EntityManager: класс org.eclipse.persistence.internal.jpa .EntityManagerImpl

+0

Ну так Hibernate Envers и поиск построены на Hibernate, то вам нужно Hibernate ... –

ответ

1

Hibernate Search заставляет вас использовать Hibernate в качестве вашей реализации JPA2. Вы не можете использовать EclipseLink с Hibernate Search.

Существует проект, который позволяет EclipseLink и другие реализации JPA2 использовать Hibernate Search здесь:

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