2008-12-16 20 views
2

Je reçois une exception "Il n'y a pas d'unité de persistance par défaut dans ce déploiement." Puis-je en quelque sorte marquer l'unité par défaut? (J'ai seulement une unité de persistance, donc je ne l'appelle pas par nom)Unité de persistance par défaut JPA

Répondre

1

Non, vous devez appeler PU par son nom.

+0

Vous n'êtes pas obligé d'appeler un PU par son nom si vous vous injectez. –

0

Vous utilisez probablement le code plutôt que de laisser le conteneur le gérer. Dans ce cas, vous devez spécifier par nom.

Mon code de test unitaire a ce bloc de code pour ce faire.

@Before 
public void createEntityManagerFactory() throws IOException { 
    final Properties p = new Properties(); 
    p.load(getClass().getResourceAsStream("/inmemory.properties")); 
    emf = Persistence.createEntityManagerFactory("default", p); 
} 

Cependant, mon code d'application ressemble à ceci.

/** 
* Injected persistence context. 
*/ 
@PersistenceContext 
private EntityManager em;