Autres conseils

Par la spécification JPA, vous devez lister toutes les classes explicitement dans un environnement Java SE:

  

6.2.1.6 fichier de mappage, fichier jar, classe, excluez-classes pas répertoriées

     

(...)

     

Une liste de persistance gérée par le nom   classes peuvent également être précisées à la place   de, ou en plus, les fichiers JAR   et des fichiers de mapping. toute cartographie   annotations métadonnées trouvées sur ces   les classes seront traitées, ou   sera cartographiée à l'aide du mappage   par défaut d'annotation. L'élément de classe   est utilisé pour la liste d'une persistance gérée   classe. Une liste de tous nommés gérés   classes de persistance doivent être spécifiées   dans Java S'environnements pour assurer   la portabilité. Portable Java SE   les applications ne doivent pas compter sur la   d'autres mécanismes décrits ici pour   préciser la persistance gérée   classes d'une unité de persistance.   La persistance des fournisseurs peuvent aussi exiger   que l'ensemble des classes d'entités et   classes qui doivent être gérées doivent être   entièrement énumérés dans chacun des   fichiers persistence.xml en Java SE   environnements.

     

Toutes les classes contenues dans la racine   l'unité de persistance sont également recherchés   pour la persistance gérée par annotée   les classes et les métadonnées de mappage   annotations trouvées sur eux seront   traitées, ou ils seront mis en correspondance   en utilisant les valeurs par défaut d'annotation de mappage.   S'il est pas prévu que la   annotée persistance des classes   contenue dans la racine de la   unité de persistance être inclus dans le   unité de persistance, la   élément de exclude-unlisted-classes   Devrait être utilisé. le   élément de exclude-unlisted-classes est   non destiné à être utilisé dans Java SE   environnements.

Maintenant, si vous ne me dérange pas d'être pas portable, vous pouvez utiliser une extension de fournisseur, mais je ne pouvais pas trouver quelque chose de similaire à la propriété hibernate.archive.autodetection de mise en veille prolongée dans OpenJPA.

Utilisation JPA intégration de printemps (qui permet le balayage de chemin de classe plus flexible) est une autre option.

Il y a aussi l'Assemblée parlementaire paritaire-plugin qui peut le faire pour vous. La dernière version est pas disponible dans Maven Central de sorte que vous devrez cloner et construire vous-même.

JPA-Plugin

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top