如何解决尝试从索引表中获取数据会产生-java.lang.NoSuchMethodError:org.hibernate.query.internal.ParameterMetadataImpl
在索引表之后,我尝试从休眠搜索中检索数据,并且尝试进行搜索时,即使一切看起来都很完美,我也会收到此错误。我用谷歌搜索并找到了这个解决方案 How to fix "NoSuchMethodError ParameterMetadataImpl <init>,但仍无法解决问题, java.lang.NoSuchMethodError:org.hibernate.query.internal.ParameterMetadataimpl。([[Lorg / hibernate / engine / query / spi / OrdinalParameterDescriptor; Ljava / util / Map;)V
这是我完整的pom.xml文件
<!--<dependency>-->
<!--<groupId>org.hibernate</groupId>-->
<!--<artifactId>hibernate-search-orm</artifactId>-->
<!--<version>5.6.0.Final</version>-->
<!--</dependency>-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<version>5.8.2.Final</version>
</dependency>
</project>
请协助
解决方法
您使用的Hibernate Search版本太旧了,与Spring Boot提供的Hibernate ORM版本不兼容。
您应检查compatibility matrix on the Hibernate website并相应选择Hibernate Search版本。
Spring Boot 2.1.4。发行版uses Hibernate ORM 5.3.9.Final。根据兼容性矩阵,对于Hibernate ORM 5.3.x,应使用Hibernate Search5.10.x。如here所示,当前5.10系列的最新版本为5.10.9.Final
。
因此,请更改此内容:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<version>5.8.2.Final</version>
</dependency>
对此:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<version>5.10.9.Final</version>
</dependency>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。