我正在尝试将我的应用程序迁移到Spring 2,它使用Hibernate搜索。我在启动我的应用程序时出错了:
java.lang.NoSuchFieldError: sessionjava.lang.ClassNotFoundException: org.hibernate.search.jpa.SearchAn SPI class of type org.apache.lucene.codecs.Codec with name 'Lucene53' does not existNoClassDefFoundError: org/hibernate/resource/beans/spi/ManagedBeanRegistry有关信息,目前Spring 2.0.3.RELEASE版本在5.2.4.Final中使用Hibernate核心依赖项。
知道要用哪种版本吗?
纪尧姆回答后的更新&工作空间和索引的深度清洗
使用5.9版本,异常已经演变为No transactional EntityManager available
最终词
最后一个错误是通过在方法上添加@Transactional来修正的,但是它在Spring 1中没有工作。奇怪..。
发布于 2018-07-24 06:46:05
您应该使用的版本取决于所使用的ORM版本。检查你的依赖性。
参见此兼容性矩阵:http://hibernate.org/search/releases/#compatibility-matrix
如果使用Spring 2.0.3的默认依赖项,则ORM的版本应该是5.2.17.Final,因此应该使用Search5.9。
您还需要使用Lucene5.5.x,所以如果您来自旧Lucene版本,可能需要升级Lucene。
发布于 2019-05-07 22:35:25
我也试图这样做,在这个存储库中我得到了以下结果(工作)
https://github.com/jcangh/boot-hibernate-search
我试过用更高的版本,但没有起作用
https://stackoverflow.com/questions/51488095
复制相似问题