【发布时间】:2017-03-25 16:19:32
【问题描述】:
我有一个使用 Hibernate Search 的相当简单的 Spring Boot 1.5.2 应用程序。 JPA 的东西很好用。
我在运行搜索时得到 Caused by: java.lang.ClassNotFoundException: org.hibernate.query.ParameterMetadata。
代码看起来有点像这样。曾经在 Wildfly 中运行,但我正在迁移到 Spring Boot。
FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(em);
QueryBuilder qb = fullTextEntityManager.getSearchFactory()
.buildQueryBuilder()
.forEntity(Customer.class)
.get();
org.apache.lucene.search.Query
luceneQuery = qb.keyword()
.wildcard()
.onField("primaryParty.firstName")
.andField("primaryParty.sureName")
.andField("customerNumber")
.matching(query.trim() + "*")
.createQuery();
javax.persistence.Query jpaQuery =
fullTextEntityManager.createFullTextQuery(luceneQuery, Customer.class);
List<Customer> result = jpaQuery.getResultList();
通过 Spring Boot 引入 Hibernate Core 5.0.12,但该类不存在。
据此:https://cia.sourceforge.io/tattleTaleReport/jar/hibernate-search-orm-5.7.0.Final.jar.html
我应该期望在 hibernate-search-orm 5.7.0.Final 中找到它。但据我所知,这个 jar 只包含 org.hibernate.search 包,没有 org.hibernate.query 包。在该 jar 中的任何其他包中也找不到该类,但它存在于类路径上的许多其他包中。
有问题
javax.persistence.Query
如果是这样,用什么代替?还是其他地方的问题?
【问题讨论】:
标签: spring-boot lucene spring-data-jpa hibernate-search