2015-01-31 12 views
2

예외는 최대 절전 모드 세션을 만드는 동안 발생합니다. 응용 프로그램의 lib 디렉토리 폴더에서java.lang.ClassNotFoundException : javax.persistence.NamedStoredProcedureQuery - 최대 절전 모드 오류

enter image description here

는 최대 절전 모드에서 JPA-2.1-API 및 javax.persistence.2.1.0 있습니다. 두 항아리 모두에서 NamedStoredProcedureQuery 클래스를 볼 수 있습니다. 하지만 classnotfoundexception에 대한 런타임 오류가 발생합니다. 어떠한 제안?

답변

5

NamedStoredProcedureQuery 클래스는 hibernate-jpa-2.1-api jar에서 사용할 수 있습니다. 하지만이 병은 런타임에 다른 항아리를 참조합니다. 그래서 컴파일 타임에 오류가 발생하지 않고 런타임 중에 예외가 발생하지 않았습니다. 난 그냥 maven 저장소를 통해 다른 최대 절전 모드 라이브러리를 추가했습니다. 처음에는 최대 절전 모드 코어 만 사용했습니다. 이제 artifactID는 hibernate-core, hibernate-validator, hibernate-commons-annotations, hibernate-jpa-2.0-api 및 hibernate-entitymanager입니다.

+0

도움이 되었습니까? – Mohan

+0

예, 작동했습니다. – Evan

0

나는 이상적인 해결책이 있습니다. 나는 동일한 오류를 던지지 않는 hibernate-core 3 (3.6.10)을 사용하여 끝났다.

나는 다른, 비슷하지만, 클래스를 찾을 수 없습니다 예외 마리오 쉬바이 게르, CodeRanch에서이 아이디어를 가지고 : http://www.coderanch.com/t/509836/ORM/databases/Hibernate-java-lang-ClassNotFoundException-javax

세부 사항 : 나는 조금 다른 뭔가를하고 있어요 - 스트럿츠 1 (대신에 최대 절전 모드 4 통합을 봄),하지만 같은 NamedStoredProcedureQuery 클래스에 문제가 발견되지 않았다. hibernate-validator를 추가하면 다른 오류가 발생했습니다. 나에게 도움이되지 않은 다른 것들은 hibernate-entitymanager 추가, javax.persistence 추가, 자바 8과 7 사이의 Tomcat 또는 eclipse 자바 버전 변경이다.

당신은 Hibernate 3와 4.

누군가가 스프링 문제에 대한 더 나은 해결책을 게시하기를 바랍니다.

0

클래스 패스에 hibernate-entitymanager를 추가해야합니다.

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>${hibernate.version}</version> 
</dependency>