在创建休眠会话工厂时,已抛出上述异常。
在应用程序 lib 文件夹中有 hibernate-jpa-2.1-api 和 javax.persistence.2.1.0。我可以在两个 jar 中看到 NamedStoredProcedureQuery 类。但是我收到了 classnotfoundexception 的运行时错误。有什么建议吗?
在创建休眠会话工厂时,已抛出上述异常。
在应用程序 lib 文件夹中有 hibernate-jpa-2.1-api 和 javax.persistence.2.1.0。我可以在两个 jar 中看到 NamedStoredProcedureQuery 类。但是我收到了 classnotfoundexception 的运行时错误。有什么建议吗?
NamedStoredProcedureQuery 类在 hibernate-jpa-2.1-api jar 中可用。但是这个 jar 在运行时引用了其他一些 jar。所以我没有在编译时出错,也没有在运行时出现异常。我刚刚通过 maven 存储库添加了其他休眠库。最初我只使用了休眠核心。现在 artifactID 是 hibernate-core、hibernate-validator、hibernate-commons-annotations、hibernate-jpa-2.0-api 和 hibernate-entitymanager。
我有一个不理想的解决方案。我最终使用了 hibernate-core 3 (3.6.10),它不会引发同样的错误。
我从 CodeRanch 的 Mario Schwaiger 那里得到了这个想法,这是一个不同但相似的类未找到异常: http: //www.coderanch.com/t/509836/ORM/databases/Hibernate-java-lang-ClassNotFoundException-javax
详细信息:我正在做一些稍微不同的事情 - 将 Hibernate 4 与 Struts 1(而不是 Spring)集成,但遇到了相同的 NamedStoredProcedureQuery 类未找到问题。添加 hibernate-validator 会引发不同的错误。其他对我不起作用的事情是:添加 hibernate-entitymanager,添加 javax.persistence,以及在 Java 8 和 7 之间更改 tomcat 或 eclipse java 版本。
您需要在 Hibernate 3 和 4 之间以不同的方式实例化 sessionfactory。
希望有人会为您的 Spring 问题发布更好的解决方案。
您必须将 hibernate-entitymanager 添加到您的类路径中。
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>