javax.persistence.Table.indexes()의 NoSuchMethodError
Hibernate를 사용하는 Play Framework 애플리케이션에서 Hibernate 4.3.0으로 업그레이드.Final NoSuchMethodError 예외가 발생할 수 있습니다. javax.persistence.Table.indexes(). 이 문제가 발생하는 이유와 해결 방법은 다음과 같습니다.
원인:
클래스 경로에 로드된 JPA 사양의 서로 다른 버전 간의 충돌로 인해 문제가 발생합니다. Play는 JPA 사양의 특정 버전에 의존하는 반면 Hibernate 4.3.0.Final에는 최신 버전이 필요합니다. 두 버전이 모두 있으면 충돌이 발생하여 오류가 발생합니다.
해결 방법:
이 오류를 해결하려면 Play의 이전 JPA 사양을 제외해야 합니다. Hibernate 4.3.0.Final에 필요한 최신 버전을 추가하는 동안 클래스 경로를 추가하세요.
Play용 2.2.x의 경우 build.sbt 파일을 다음과 같이 수정하세요.
libraryDependencies ++= Seq( javaJdbc, javaJpa.exclude("org.hibernate.javax.persistence", "hibernate-jpa-2.0-api"), "org.hibernate" % "hibernate-entitymanager" % "4.3.0.Final" )
이전 버전의 Play의 경우 해당 설명서를 참조하세요.
이전 JPA 사양을 제외하면 Hibernate에 필요한 최신 버전만 보장됩니다. 4.3.0.Final을 사용하여 충돌과 NoSuchMethodError 예외를 해결합니다.
위 내용은 Hibernate 4.3.0.Final로 업그레이드하면 javax.persistence.Table.indexes()에서 NoSuchMethodError가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!