Как заставить Hibernate 3.3 или 3.5 использовать CGLib вместо Javassist?

StackOverflow https://stackoverflow.com/questions/2330373

  •  22-09-2019
  •  | 
  •  

Вопрос

Можно ли по-прежнему заставить Hibernate 3.3 или 3.5 использовать CGLib вместо Javassist?В моем файле свойств я устанавливаю

hibernate.bytecode.provider = cglib

Но, похоже, это ничего не дает.Есть какие-нибудь мысли?

Это было полезно?

Решение

Кажется, некоторые люди неправильно прочитали мой ответ, поэтому я перефразирую:ваш hibernate.properties выглядит правильно, свойство четко определено, оно должно работать.Итак, извините за вопрос, но есть ли CGlib в classpath?

Обновить: Только что протестировал, и у меня это работает.Вот результат, который я получаю во время инициализации:

15 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.0.SP1
18 [main] INFO org.hibernate.cfg.Environment - loaded properties from resource hibernate.properties: {hibernate.bytecode.use_reflection_optimizer=false, hibernate.bytecode.provider=cglib}
20 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : cglib

PS:Обратите внимание , что Поддержка CGLIB устарела недавно (это не означает, что вы не сможете использовать CGLIB, но интеграция с ним больше не поддерживается).

Другие советы

Да, тоже положил

hibernate.properties 

в какую-нибудь исходную папку и не забудьте иметь hibermate-cglib-repack в dependencies:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-cglib-repack</artifactId>
    <version>2.1_3</version>
</dependency> 

Помните, что библиотека CGLIB не разрабатывалась около 4 лет.Однако вы должны сделать все, чтобы ваш код работал с Javassist, который все еще активно поддерживается.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top