Faut-il-utiliser persistence.xml ou hibernate.cfg.xml

persistence.xml ou hibernate.cfg.xml

Si vous utilisez l’API propriétaire de Hibernate, vous aurez besoin du fichier hibernate.cfg.xml. Si vous utilisez JPA, c’est-à-dire avec Hibernate EntityManager, vous aurez besoin du fichier persistence.xml.

Donc, vous n’avez généralement pas besoin à la fois des deux fichiers car vous utilisez soit l’API propriétaire de Hibernate ou JPA. Cependant, si vous utilisiez API propriétaire de Hibernate et disposez déjà de fichiers hibernate.cfg.xml (et hbm.xml XML mapping), mais souhaitez commencer à utiliser JPA, vous pouvez réutiliser les fichiers de configuration existants en référençant hibernate.cfg.xml dans le fichier persistence.xml dans la propriété hibernate.ejb.cfgfile – et donc avoir les deux fichiers.

Réutiliser les fichiers existants hbm.xml un scénario réaliste qui pourrait justifier le maintien des deux (même si je migrerais probablement vers des annotations JPA sur le long terme).

Pour rappel Hibernate a besoin de plusieurs éléments pour fonctionner :

  • une classe de type javabean qui encapsule les données d’une occurrence d’une table
  • un fichier de configuration (un par classe conseillé) qui assure la correspondance entre la classe et la table (mapping), ou bien des annotations si usage JPA ( > java 1.5 @)
  • des propriétés de configuration notamment des informations concernant la connexion à la base de données

hibernatearchi