hibernate4.2.1 기본 통합javassist-3.15.0-GA 패키지의 버그 문제
16:01:39,782 ERROR JavassistLazyInitializer:166 - HHH000142: Javassist Enhancement failed: com.highrace.car.model.CarLicence
java.lang.RuntimeException: duplicate method: getHandler in com.highrace.car.model.CarLicence_$$_javassist_30
at javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:510)
at javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:487)
at javassist.util.proxy.ProxyFactory.createClass1(ProxyFactory.java:423)
at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:395)
......
Caused by: javassist.bytecode.DuplicateMemberException: duplicate method: getHandler in com.highrace.car.model.CarLicence_$$_javassist_30
......
나는 entity 클래스를 반복해서 검사했는데 설정 오류가 없는 것을 발견했습니다. 마지막에javassist 패키지 아래에 getHandler와 getHandler 방법이 충돌해야 합니다.
인터넷 검색 방법
첫 번째, 기본적인javassist를 cglib로 바꾸고,
1. cglib-nobep-2.2 가져오기
2. hibernate에서.properties 파일에 추가
hibernate.bytecode.provider=cglib
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">false</prop>
<!-- hibernate spring hibernate.properties
-->
<prop key="hibernate.bytecode.use_reflection_optimizer">true</prop>
<prop key="hibernate.bytecode.provider">cglib</prop>
</props>
</property>
http://stackoverflow.com/questions/2330373/how-to-force-hibernate-3-3-or-3-5-to-use-cglib-instead-of-javassist
http://stackoverflow.com/questions/2269185/duplicate-method-error-when-using-hibernate-javassist-gilead
첫 번째는 성공하지 못했다.
두 번째, 나의 반복적인 검색을 통해 인터넷에서 어떤 사람이 이것은javassist의 버그라고 말했다. 후속 버전이 이 버그를 해결할 수 있다고 해서 나는 다음 버전을 추가하여 이전 버전을 교체했고 문제가 해결되었다.
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.18.2-GA</version>
</dependency>
https://hibernate.atlassian.net/browse/HHH-5731
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.