gpt4 book ai didi

java - HQL返回java.lang.NoSuchMethodError

转载 作者:行者123 更新时间:2023-12-02 06:42:44 25 4
gpt4 key购买 nike

我正在尝试以这种方式在 HQL 中设置参数:

 Query query = session.createQuery("from Device d " +
"left join fetch d.tradeInOldDevice " +
"left join fetch d.tradeInNewDevice " +
"left join fetch d.warranty " +
"where d.owningCompany.customerRefId =:customerId ");


query.setString("customerId", "someHardCodeCustomerId");


Set<Device> customerDevices= (Set<Device>) query.list();

我发现了这个错误:

2013 年 24 日

2:36:02 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [ServicesServlet] in context with path [] threw exception [Servlet execution threw an exception] with root cause
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
at org.hibernate.hql.ast.HqlSqlWalker.generateNamedParameter(HqlSqlWalker.java:945)

hibernate 依赖:

 <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.0.1.Final</version>
</dependency>


<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>3.6.10.Final</version>
</dependency>

我正在 Spring 容器内的 tomcat 上运行 hibernate。

我在我的项目中检查了 Maven 依赖项,我有 Maven:antlr:antlr:2.7.2。

这里可能出了什么问题?

谢谢。

最佳答案

库冲突。我认为您在 web-inf/lib 中加载了另一个版本的antlrXXX.jar。它是在 hibernate 所依赖的之前加载的。请使用使用的 hibernate 版本完成问题,以便我可以回复添加正确的依赖项以确保完整性。

更新:评论后冲突的版本是2.7.2。使用 mvn dependency:tree 检查谁正在导入 2.7.2,并在 pom 中排除该传递依赖项。

关于java - HQL返回java.lang.NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18980597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com