Это происходит, когда в поставляемой версии библиотеки отсутствуют необходимые классы. Хотя нет общего исправления, но вы можете попробовать этот подход, который работал для меня.
Все, что вам нужно сделать, это правильно исключить библиотеки ASM из гибернации и включить их отдельно. Кажется нечетким, но взгляните на фрагмент из рабочего pom.xml. Цель этого подхода - включить в проект более позднюю версию зависимой библиотеки, которая может потребоваться какой-либо другой 3-й библиотеке.
для включения диспетчера объектов гибернации, я использую следующий код.
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
<exclusions>
<exclusion>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
</exclusion>
</exclusions>
</dependency>
Здесь я явно исключаю asm из включения диспетчера hibernate-entity, а рядом с ним я включаю его отдельно
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
</dependency>
и свойства. Эти варианты выбора работали для меня в последнем проекте.
<properties>
<hibernate.version>3.6.0.Final</hibernate.version>
<asm.version>3.3</asm.version>
</properties>
Надеюсь, это решит вашу проблему.