2010-12-11 21 views
4

Je suis toujours à la recherche de moyens pour éliminer le code redondant de mon projet. J'utilise Hibernate avec Spring. J'ai configuré Spring JPA LocalContainerEntityManagerFactoryBean, ce qui me permet de passer un paquet de propriétés au fournisseur JPA (Hibernate), ce qui signifie que je n'ai pas besoin de définir ces propriétés dans le fichier persistence.xml.Puis-je me débarrasser de persistence.xml lorsque j'utilise Hibernate avec Spring?

En outre, Hibernate peut trouver mes classes persistantes sans que je doive les identifier réellement dans persistence.xml, donc ces lignes < de classe > disparaissent aussi.

Je suis parti avec une ligne dans mon persistence.xml:

<persistence-unit name="bigDatabase" transaction-type="RESOURCE_LOCAL"/> 

Est-ce que quelqu'un connait un moyen d'éliminer complètement persistence.xml et déplacer la définition de l'unité de persistance dans le fichier de configuration Spring? J'ai essayé Googling bien sûr, mais je n'ai pas trouvé de réponse.

Merci!

+0

Vous pouvez envisager de remplacer l'Assemblée parlementaire paritaire 'EntityManager' avec' SessionFactory' natif Hibernate .... config moins de cette façon – skaffman

+1

Ne pas utiliser JPA .... – duffymo

+0

@skaffman @duffymo ts ts ts, le remplacement d'un standard ouvert –

Répondre

2

persistence.xml n'est pas obligatoire pour les configurations JPA. Vous pouvez créer votre gestionnaire d'entités avec la méthode EntityManagerFactory.createEntityManager(map) . Mais LocalContainerEntityManagerFactoryBean n'a pas de méthodes qui aident à la création du gestionnaire d'entité avec une carte. Donc, vous devez étendre LocalContainerEntityManagerFactoryBean et remplacer certaines méthodes en fonction de vos besoins.

+0

bonne réponse, mauvais lien. inséré correct api docs lien pour vous –

+0

Voir aussi http://stackoverflow.com/questions/4736301/is-persistence-xml-requied-when-working-with-spring-hibernate – Ritesh