2010-06-25 14 views
2

J'ai utilisé eclipselink dans un projet web dans NetBeans. Cela fonctionne bien et facile. Comment puis-je faire de même dans un projet non lié au web (application console)?Comment utiliser JPA en dehors d'un projet Web?

Dans mon application web j'ai:

@PersistenceUnit 
EntityManagerFactory enf; 

instantie enf qui. Cela ne fonctionne pas dans une application console.

+0

de la même manière. Qu'est-ce qui ne fonctionne pas? – Bozho

Répondre

3

Dans le cas d'un Web ou un conteneur d'application, le conteneur injecte le EntityManagerFactory lorsque l'annotation @PersistenceUnit est appelée. Cela ne sera pas valable pour une application console.

Les moyens possibles pour y parvenir sont

  1. Pour inclure Spring (qui fait le même travail que votre conteneur Web). S'il vous plaît se référer au tutoriel Getting Started With JPA in Spring 2.0

Ou

  1. Pour écrire le code d'initiation vous comme suit.

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("PersistenceUnitName"); 
    
2

Ok, je dois juste appeler

enf = Persistence.createEntityManagerFactory("JavaApplication39PU"); 

Où JavaApplication39PU est le nom trouvé dans META-INF/persistence.xml