2017-09-03 1 views
0

Je développe une application Java EE, en utilisant Servlet, JSP, JPA, EJB. Comme j'ai déjà configuré une source de données (Oracle 11g) dans la console Websphere, je voulais savoir si je devais utiliser le bean entité CMP dans mon code, ou un simple bean Session sans état avec un persistence.xml (en utilisant le JNDI de la source de données configurée dans ÉTAIT).WAS 8.5.5 CMP/BMP et Persistence DataSource

Merci à l'avance

Répondre

1

Vous ne doivent pas utiliser les haricots entité CMP. JPA est le remplacement des beans EJB Entity et devrait être la technologie préférée (en utilisant le JNDI de la source de données configurée dans WAS). Les beans entité CMP/BMP sont désormais une partie facultative de Java EE et ne sont pas pris en charge dans WebSphere Liberty (bien qu'ils continuent d'être pris en charge dans WebSphere traditionnel, même dans v9.0). De plus, vous n'avez même pas besoin d'utiliser un bean Session sans état avec JPA (persistence.xml); Vous pouvez utiliser JPA directement à partir de votre servlet, même si une session sans état peut être un bon moyen d'encapsuler l'accès à la base de données et de fournir un support transactionnel.

Notez que l'utilisation simultanée des beans entité CMP et JPA (persistence.xml) doit être évitée. Vous obtiendriez deux technologies différentes qui tentent d'accéder (et de verrouiller) les lignes de la base de données, et aimeraient rencontrer des blocages et/ou des altérations.