Bytecode Provider bei Hibernate wechseln
Seit der Version 3.2 können verschiedene ByteCode-Provider eingesetzt werden. So kann der Standard-Provider CGLIB durch z.B. javassist ersetzt werden. Diese Einstellung wird über den Parameter “hibernate.bytecode.provider” in der Hibernate-Konfiguration geregelt:
hibernate.bytecode.provider = cglib | javassist
Im JBoss-Server wird diese Einstellung standardmäßig auf javassist gestellt. Da dies jedoch teilweise noch Probleme gibt, vor allem bei RMI-Anwendungen, kann dies über die persistence.xml entsprechend angepasst werden. In der Version 4.0.4.GA vom JBoss produziert JavaAssist bei jeder Abfrage eine Unmenge an Klassen, die dann den PermGen Space zum Überlauf bringen.