<jta-data-source>java:comp/...</jta-data-source>
ne fonctionne pas bien avec Hibernate JPA géré par conteneur. WebSphere Application Server doit appeler createContainerEntityManagerFactory avant de faire presque tout le reste dans l'application car cet appel peut enregistrer un ClassFileTransformer qui doit modifier les bytecodes d'entité.
Vos options sont :
-
Supprimer l'utilisation de
<jta-data-source>java:comp/...</jta-data-source>
et utilisez un nom JNDI de l'espace de noms du serveur (par exemple,<jta-data-source>jdbc/myds</jta-data-source>
). -
Désactivez JPA géré par conteneur pour l'application comme décrit dans APAR PM26361 . (Cet APAR décrit les problèmes de performances causés par l'appel à createContainerEntityManagerFactory lors du démarrage de l'application, mais la propriété peut également être utilisée pour éviter ce problème.) Bien entendu, la désactivation de JPA géré par le conteneur signifie que vous ne pouvez plus utiliser
@PersistenceUnit
/@PersistenceContext
annotations ou<persistence-unit-ref>
/<persistence-context-ref>
.