У нас есть устаревшее приложение, использующее Hibernate 3.0.5, и мы пытаемся обновить его до Hibernate 3.3.2 (версия, которая меньше влияет на текущий код).
После обновления зависимостей в pom.xml
приложение развертывается правильно, но при запросах с отложенной ассоциацией возникает следующая ошибка:
java.lang.AbstractMethodError: org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.setUnwrap(Z)V
Зависимости настроены следующим образом:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.3.2.GA</version>
<exclusions>
<!--
Excludes to avoid conflict with JBoss libs
See http://stackoverflow.com/questions/3413488/saxparser-errors-with-hibernate-and-jboss-conflicting-versions
-->
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.0.b2</version>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.4.GA</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
Мы уже пытались переключиться на CGLIB вместо Javassist, но получаем ту же ошибку на эквивалентном классе (org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer
). Трассировки стека нет. Вот изображение стека выполнения в момент возникновения ошибки.
Приложение работает на JBoss 5.1.0.
Любые советы об этой ошибке? Может ли это быть неправильная версия библиотеки javassist?
ОТРЕДАКТИРОВАНО
- Добавлена версия JBoss и исправлена версия javassist до 3.4.GA.
- Копнув дальше, я обнаружил, что (Z)V означает «пустой возврат» и «логический параметр» (http://www.rgagnon.com/javadetails/java-0286.html)
java.lang.AbstractMethodError: org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.setUnwrap(Z)V
- person Peter Svensson   schedule 19.02.2014ASM
иCGLIB
не включены в качестве зависимостей. Кроме того, согласно этому руководству по миграции, Hibernate 3.3 по умолчанию теперьjavassist
- person Joaquim Oliveira   schedule 20.02.2014