Bonjour,

J'ai testé la nouvelle API de persistence (javax.persistence) avec un code source niveau j2EE 5 + Sun Application Server, et tout se passe bien.

Cependant, pour faire plus léger, j'ai vu qu'on pouvait utiliser JPA dans tomcat 5.5 ! Il suffisait de (dans NetBeans) :

- Décocher l'option "source niveau 1.4" dans les propriétés du projet.
- Passer le code en niveau "1.5" (pour supporter les annotations du style "@Entity", "@PersistenceUnit", etc. )
- d'importer la libraire "TopLink Essentials" dans le projet web.

Cependant, contrairement à ce qui se passe avec le serveur d'application, j'obtiens cette erreur sur ce code :

Je déclare :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
@PersistenceUnit
private EntityManagerFactory emf ;
 
@PersistenceContext
private EntityManager em ;
 
//.... dans le code :
em = emf.createEntityManager();
L'erreur est : "NullPointerException".
Il semble que dans le cas d'un serveur J2EE 5, la variable "emf" (EntityManagerFactory) est créée par "injection", ce qui ne se produit pas dans Tomcat.

Que se passe-t-il ?