Maison >Java >javaDidacticiel >Comment puis-je définir des entités dans persistence.xml pour JPA ?
Entités dans persistence.xml
Dans l'API Java Persistence (JPA), le fichier persistence.xml indique au fournisseur de persistance les unités de persistance dans l'application et sert de fichier de configuration. L'une de ses fonctions est de définir les entités à gérer par l'unité de persistance.
Analyse automatique des entités
JPQL recherche automatiquement les entités dans les packages Java avec les classes spécifié dans le champ
Utilisation de l'élément jar-file
Au lieu de lister les entités manuellement, vous pouvez utiliser l'élément jar-file pour spécifier un ou plusieurs fichiers JAR contenant les classes d'entités. Le fournisseur de persistance analysera ces fichiers JAR à la recherche de classes annotées avec @Entity.
<persistence> <persistence-unit name="eventractor" transaction-type="RESOURCE_LOCAL"> <jar-file>MyOrderApp.jar</jar-file> <properties> <property name="hibernate.hbm2ddl.auto" value="validate" /> <property name="hibernate.show_sql" value="true" /> </properties> </persistence-unit> </persistence>
Détection automatique d'Hibernate
Hibernate prend spécifiquement en charge la détection automatique des entités, même dans Applications JavaSE. Pour activer cela, ajoutez la propriété hibernate.archive.autodetection à persistence.xml :
<persistence> <persistence-unit name="eventractor" transaction-type="RESOURCE_LOCAL"> <!-- Hibernate auto-detection is spec compliant in Java EE only. --> <properties> <property name="hibernate.archive.autodetection" value="class, hbm" /> <property name="hibernate.hbm2ddl.auto" value="validate" /> <property name="hibernate.show_sql" value="true" /> </properties> </persistence-unit> </persistence>
Conclusion
Bien qu'il ne soit pas obligatoire de spécifier les entités directement dans la persistance .xml, cela garantit un contrôle explicite sur les classes gérées par le fournisseur de persistance. L'utilisation d'éléments de fichier jar ou de la fonction de détection automatique d'Hibernate offre plus de flexibilité dans la gestion des entités.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!