2017-03-25 23 views
0

私は、Hibernate Searchを使用してかなり簡単なSpring Boot 1.5.2アプリケーションを持っています。 JPAのものはうまく動作します。Hibernate SearchでSpringブートがorg.hibernate.query.ParameterMetadataを見つけることができません

私は、次の原因で発生します。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(); 

Hibernate Core 5.0.12はSpring Bootを介して取り込まれていますが、クラスはありません。

これによると:https://cia.sourceforge.io/tattleTaleReport/jar/hibernate-search-orm-5.7.0.Final.jar.html

私は、Hibernate検索-ORM 5.7.0.Finalでそれを見つけることを期待すべきです。しかし、このjarにはorg.hibernate.searchパッケージとorg.hibernate.queryパッケージしか含まれていないことがわかります。そのjarファイル内の他のパッケージでクラスを見つけることはできませんが、クラスパス上の他の多くのパッケージに存在します。

は問題

javax.persistence.Query 

もしそうなら、代わりに何を使用することですか?それとも問題は他の場所ですか?

答えて

3

休止状態検索5.7.0.Finalis only compatible with Hibernate ORM 5.2.3.Final and later。 あなたはどちらかのはず:5.6.1.Final

    • 格下げにHibernate検索やバージョン5.2.3.Final以降にHibernateのORMをアップグレードしてください。春ブーツで、私はあなたが使用する必要が不安定、すなわち春ブーツのバージョン、2.0.0.BUILD-SNAPSHOT

    EDITう怖い:実際に、あなたが春ブーツ1.5で5.2+にHibernate ORMを使用することができそうです。 this sampleを参照してください。 5.2.3.Final以降を使用するように注意してください(サンプルでは5.2.0.Finalを使用していますが、これはうまくいきません)。ところで


    は、あなたが提供されたリンクは、唯一の理由は、おそらくあなたには関係がないのOSGiサポート、のorg.hibernate.queryに言及しています。 hibernate-search-orm(Hibernate Search to Hibernate ORMを統合したモジュール)は、org.hibernate.queryパッケージをインポートして再エクスポートしますが、それ自体は提供しません。

  • +0

    おかげで、:) –

    0

    5.7.0.Final jarを使用しているために同じ問題が発生しましたが、互換性がありませんでした。この問題は、ダウングレードjarのバージョンを変更することで解決しました。

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

    +0

    Thxをダウングレードした後に動作し、動作するようになりました:) –

    関連する問題