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
2
A
Répondre
1
Non, vous devez appeler PU par son nom.
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;
Vous n'êtes pas obligé d'appeler un PU par son nom si vous vous injectez. –