J'utilise eclipse + eclipselink + maven2 + mysql + jpa 2.0 + java SE.Les classes DAO ne peuvent pas voir persistence.xml
Je peux créer des tables MySQL à partir des classes Entity avec Eclipse. Le fichier persistence.xml se trouve dans src/main/resources/META-INF/...
J'ai également des connexions de base de données spécifiées dans eclipse pour la production et les tests. L'un ou l'autre est choisi avec le projet et semble fonctionner. En fonction de la source de données utilisée avec le projet, les tables sont créées dans la base de données sélectionnée. Ce qui est dans le fichier persistence.xml en tant que détails de connexion à la base de données est ignoré (je ne sais pas à quoi m'attendre). Aussi, si je fais un clic droit sur le fichier persistence.xml et que je sélectionne 'Outils JPA'> 'Synchroniser la liste des classes'. Le fichier est mis à jour avec les classes d'entité.
Le fichier persistence.xml est également requis sinon les tables ne seront créées dans aucune des bases de données. (Testé en renommant le fichier)
Plus tôt, j'ai également été en mesure d'exécuter certaines méthodes DAO pour tester en mettant et en chargeant des choses. Il y avait aussi un élément de menu dans l'explorateur de paquets Eclipse nommé 'JPA', listant les entités JPA dans le projet, qui n'existe plus.
Je n'ai fait aucun changement sur le projet (seulement fermé l'ordinateur pour la nuit). La prochaine fois que le projet a été ouvert, je n'était plus en mesure d'effectuer l'une des Dão méthodes et je reçois l'erreur suivante:
No Persistence provider for EntityManager named xxx
La même erreur vient de la classe principale ayant Dão méthodes, test JUnit géré par Eclipse et les mêmes tests exécutés par Maven.
Remarque: Je suis toujours capable de créer les tables à partir d'entités.
Un conseil?
Je me rappelle avoir utilisé la propriété 'Deployment Assembly' parfois ... Mais devinez quoi. Maintenant, je n'ai même pas cette option disponible. Cependant merci pour le conseil. C'est peut-être la raison pour laquelle les choses ne marchent pas, mais maintenant je dois trouver pourquoi cela manque. J'ai également désactivé la nature de Maven pour voir si elle ramène le menu. Pas de chance. –
Eclipse Indigo, au fait. –
Si je crée un nouveau projet et que je le transforme en "Projet Web Dynamique", j'obtiens l'option "Déploiement Assemblage". Mais pour mon projet SE actuel, je n'ai pas cette option disponible et je ne suis pas sûr si je suis supposé l'utiliser, même si ce serait disponible. –