11
votes

Chaque entité doit-elle être enregistrée dans persistance.xml?

J'utilise des facettes Eclipse pour JPA 2.0 et hibernate 4.2 Mise en œuvre. Je pense que je me souviens que dans le projet précédent, je n'aurais pas à enregistrer une titulaire d'entité dans la persistance.xml. Suis-je trompé?

Annotation d'un pojo (dans ce cas de pub.java) avec @entity lancera l'erreur suivante dans le marqueur Eclipse / Vue Problème: P>

Class "com.jacky.webapp.model.Pub" is managed, but is not listed in the persistence.xml file    Pub.java    /webapp/src/main/java/com/jacky/webapp/model    


3 commentaires

Salut dans votre projet précédent où vous utilisez printemps orm ?


Nope, je n'ai pas fait. En général, chaque titulaire doit être enregistrée avec Java EE 6 et la mise en œuvre correspondante de JSR JPA?


Vérifiez cette réponse: Stackoverflow.com/a/21622259/1875434


3 Réponses :


1
votes

En JPA, vous devez compiler un fichier appelé Persistance. XML Où vous dites à Hibernate quelles classes seront gérées par votre orj.
Check Cette question et sa réponse acceptée


5 commentaires

Bellabax, j'ai remarqué que vous pouviez marquer les cours pour surmonter l'impédance d'objet-relation. Cependant, c'est déclaratif et je préférerais appliquer le style d'annotation. Je viens d'être confirmé d'un collègue, que mon hypothèse / mémoire est vrai. Pas besoin d'enregistrer des cours manuellement dans la péristence.xml ou orm.xml si vous utilisez des annotations. Vraisemblablement, cette erreur doit être une erreur Eclipse (4.3 Kepler).


Mais votre code fonctionne-t-il bien pendant la course? Je pensais que vous avez un problème pendant l'exécution. Probablement vous avez raison et est juste un problème de validateur Eclipse


Oui, fonctionne bien lorsque vous déployez manuellement (Eclipse refuse de déployer des guerres erronées). Oui, on dirait une erreur kepler. J'essaie avec Juno plus tard ce jour-là.


Lookup ici : peut-être un message d'avertissement volontaire ...


Oui, j'ai déjà écrit Karen (Dali Developer) à ce sujet.



33
votes

Comme déjà écrit ici est la solution:

Vérifiez les propriétés du projet JPA et assurez-vous de sélectionner "Découvrir les classes annotées automatiquement" dans la section "Persistance de la classe de classe". Cela devrait fournir la bonne validation pour votre cas d'utilisation.


0 commentaires

0
votes

Il est possible lorsque vous avez créé le projet, vous avez choisi "projet JPA" au lieu de "projet Java". Si vous ne voyez pas le "projet Java", suivez "Autre" et sous le type de magicien "Java" pour voir le "projet Java".


0 commentaires