10
votes

Est-il possible d'utiliser des annotations et des fichiers HBM.XML dans le même projet dans Hibernate?

doit-il nécessairement faire un choix strict entre utiliser des annotations et des fichiers de configuration hibernate, ou est-il possible d'utiliser les deux manières dans le même projet?

Nous avons un grand projet réalisé avec Hibernate 3.2.5 et Pojos configurés avec .hbm.xml fichiers. Le projet utilise Hibernate sessionManager usine et non basé sur JTA entitymanager usine.

Il y a plus d'une centaine de pojos configurés de cette façon et l'équipe de développeur d'origine hésite à passer aux annotations.

En attendant, nous devons étendre le projet avec plus de pojos que nous sommes disposés à configurer avec des annotations hibernées et que vous souhaitez rester avec hibernate - si possible - et ne pas passer à JPA.

est-il possible d'utiliser une combinaison de .hbm.xml de fichiers de configuration pour certains pojos et annotations pour d'autres personnes en même temps?


1 commentaires

Compte tenu de la polyvalence d'outils tels que Netbeans et, même dans de nombreux cas, même Eclipse, j'ai souvent des erreurs même lorsque je code et configure les choses correctement. Donc, pour quelque chose même de nombreux experts Java disent "Dunno, jamais essayé", je ne perdrais pas mon temps d'essai-erreur sans être sûr si c'est mon erreur, ou l'IDE, ou simplement parce que cela ne peut pas simplement être fait en Java / Hibernate.


3 Réponses :


13
votes

oui vous pouvez. le Documentation dit

Notez que vous pouvez mélanger l'utilisation HGM.XML Legacy HBM.XML et l'approche d'annotation. L'élément de ressource peut être un fichier HBM ou un descripteur de déploiement XML EJB3.

Il y a quelques points de contrôle cependant:

Vous pouvez toutefois ne pas déclarer une classe plusieurs fois (annoté ou via HBM.XML). Vous ne pouvez pas mélanger les stratégies de configuration (HBM vs annotations) dans une hiérarchie d'entité non plus.

Vous pouvez trouver une autre information ici .


0 commentaires

7
votes

Manu a donné la réponse, mais si vous allez basculer vers des annotations et que vous souhaitez convertir ces hbm.xml en annotations. S'il vous plaît continuez. Vous pouvez utiliser les outils qui généreront les classes de pojo avec des annotations à partir de tables existantes. Même en utilisant ces outils, vous n'avez pas à changer l'autre code, il suffit de générer les pojos comme avant. C'est-à-dire que je ne changez pas de noms de propriété. J'ai travaillé sur le même projet un peu et j'ai utilisé un script de fourmis pour cela.


0 commentaires

0
votes

Je pense que ce post est génial mais avec un exemple de code réel, ce sera mieux. J'ai essayé Manuppk Ref et c'est comme ça que ça marche.
Ma Réforme Ref est ici: http: //docs.jboss. org / hibernate / stable / annotations / référence / fr / html / ch01.html # configuration-configuration xxx

annotationconfiguration lira le CFG.XML comme d'habitude pour analyser les deux et

Disclaimer : J'ai essayé d'utiliser l'ancien Ver 5.2.1 Hibernate et ça marche bien.


0 commentaires