2017-03-25 3 views
0

Ich habe eine ziemlich einfache Spring Boot 1.5.2 Anwendung mit Hibernate Search. JPA Sachen funktionieren gut.Spring Boot mit Hibernate Search kann org.hibernate.query.ParameterMetadata nicht finden

Ich bekomme verursacht durch: java.lang.ClassNotFoundException: org.hibernate.query.ParameterMetadata beim Ausführen einer Suche.

Der Code sieht ungefähr so ​​aus. Wird in Wildfly verwendet, aber ich migriere zu Spring Boot.

Hibernate Core 5.0.12 wird über Spring Boot eingezogen, aber die Klasse ist nicht da.

dies nach: https://cia.sourceforge.io/tattleTaleReport/jar/hibernate-search-orm-5.7.0.Final.jar.html

ich sollte es in Hibernate-Suche-orm 5.7.0.Final zu finden erwarten. Aber von dem was ich sehen kann, enthält dieses Jar nur das org.hibernate.search Paket und kein org.hibernate.query Paket. Die Klasse kann in keinem anderen Paket in diesem Jar gefunden werden, aber sie existiert in einer Reihe anderer Pakete im Klassenpfad.

Ist das Problem

javax.persistence.Query 

Wenn ja, was stattdessen verwenden? Oder ist das Problem anderswo?

Antwort

3

Hibernate Suche 5.7.0.Finalis only compatible with Hibernate ORM 5.2.3.Final and later. Sie sollten entweder:

  • Herabstufung Hibernate Search 5.6.1.Final
  • oder Upgrade Hibernate ORM Version 5.2.3.Final oder höher. Mit Frühlings Stiefel, ich fürchte, Sie verwenden und instabile Version von Spring-Boot müsste, nämlich 2.0.0.BUILD-SNAPSHOT

EDIT: tatsächlich, es scheint, dass Sie Hibernate ORM verwenden können 5.2+ mit Federverschluß 1,5; siehe this sample. Achten Sie jedoch darauf, 5.2.3.Final oder später zu verwenden (das Beispiel verwendet 5.2.0.Final, die nicht funktionieren).


By the way, der Link nur zur Verfügung gestellt erwähnt org.hibernate.query wegen OSGi-Unterstützung, die wahrscheinlich nicht für Sie relevant ist. Es passiert, dass hibernate-search-orm (das Modul, das Hibernate Search in Hibernate ORM integriert) das org.hibernate.query-Paket importiert und erneut exportiert, aber es stellt es nicht selbst bereit.

+0

Danke, arbeitet nach :) –

0

Ich bekam das gleiche Problem aufgrund der Verwendung von 5.7.0.Final Jar und es war nicht kompatibel. Dieses Problem wurde behoben, indem die Downgrade-Jar-Version geändert wurde.

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-search-orm</artifactId> 
    <version>5.6.1.Final</version> 

+0

Thx Herabstufung, arbeitet jetzt :) –

Verwandte Themen