Heavy loaders load Hibernate application classes with highest priority.
Heavy loaders work in the following manner:
● created with the resources located in the lib folder in the root if the ear, only when the application version is Java EE5
● first in the parent list. This guarantees the following delegation order when loading a resource :
¡ heavy loader (and it's parent respectively)
¡ default references, specified by the containers during deploy. Usually contain the standard Java EE APIs
¡ application specific references (specified in the application-j2ee-engine.xml)
¡ all other application resources contained in the EAR
To activate the heavy loaders:
...
1. Switch on the Heavy loaders behaviour as it is switched off by default :
a. Start the Config tool.
b. Change the Define_Heavy_Resources property of the library_container to true.
c. Save the change.
d. Restart the whole instance for the change to take effect.
2. Check that the heavy loader is created and contains all Hibernate jars. I assume you packed Hibernate as shared library in application named com.vendorX/Hibernate:
a. using telnet, issue:
>ll | grep com.vendorX/Hibernat|e
b. you should get as output two classloaders
[com.vendorX/Hibernate]
[com.vendorX/Hibernate-library-loader]
The second one is the heavy classloader.