L'accès aux données par le biais du JPA à l'intérieur du bundle suppose que vous travaillez dans un bundle qui est traité comme étant un module Java™ EE sur le serveur. C'est le cas par exemple d'un bundle d'applications Web OSGi qui comporte une facette JPA activée et contient des entités et la logique permettant d'accéder, de consommer et d'afficher des données à l'aide de JPA. Un autre exemple est un projet Web qui contient les entités JPA et la logique permettant de consommer des données à l'aide de l'API JPA qui est publiée dans une application OSGi plutôt que dans le cadre d'un déploiement EAR.
Vous devez configurer votre bundle OSGi et les sources de données pour WebSphere Application Server avant d'accéder aux unités de persistance JPA.
Assurez-vous que votre fichier de persistance JPA contient des références à une API JTA (Java Transaction API) et une source de données non JTA.
Dans les fichiers persistence.xml d'une application OSGi, les éléments jta-data-source et non-jta-data-source accèdent aux sources de données par le biais d'une recherche JNDI (Java Naming and Directory Interface), une recherche JNDI sur le registre d'utilisateurs, ou via Blueprint.
Si les sources de données JTA et non JTA ne sont pas configurées dans le fichier persistence.xml, les sources de données JTA et non JTA par défaut configurées pour le serveur sont utilisées. Par défaut, les valeurs sont null. Certaines fonctions d'entité JPA nécessitent qu'une source de données non JTA soit spécifiée. Par exemple, la génération automatique de l'identité d'une entité.