Pourquoi mon projet d'oreille ne peut-il pas voir les EJB et entités annotés dans mon projet JPA?

StackOverflow https://stackoverflow.com/questions/9436313

Question

J'utilise IBM RAD 7 (AKA ECLIPSE 3.4) et WebSphere 7.

J'ai un espace de travail avec une configuration EJB de base; Projects Testear, TesteJB, TestJPA, TestWeb.

Je peux annoter un EJB ("@Stateless EntityService") dans le projet TesteJB et cela fonctionne bien. Mais si je mets un EJB ("@Stateless EntityDao") dans le projet TestJPA, il n'est pas injecté dans l'entité-service. Si je déplace EntityDao vers le projet TesteJB, cela fonctionne bien.

De plus, si j'annote une entité de classe A ("@entity myentity"), il n'est pas connu comme une entité du conteneur (j'obtiens une "entité non reconnue" ... "Types d'entités connus: [] Erreur). Mais si j'ajoute une balise my.domain.myentity à la persistance de Testejb.xml, cela fonctionne bien.

QUESTION: Pourquoi le projet TesteJB ne peut-il pas reconnaître les classes annotées dans le projet TestJPA?

Remarque: il n'y a pas d'onglet "Assembly de déploiement" dans Eclipse 3.4, mais il existe un onglet "Java EE Module Dependance" (Testear> Properties> Java EE Module Dependances); J'ai vérifié et tous les projets sont dans la liste et vérifiés (c.-à-d. Testejb, testjpa, testweb).

Toute aide est grandement appréciée! Celui-ci m'a vraiment perplexe.

Merci, Rob

Était-ce utile?

La solution

Il semble qu'il y ait quelques questions ici ...

Pour votre projet Testejb, n'utilisez pas les haricots testjpa, assurez-vous que les deux sont répertoriés comme un <ejb> module et non <jar> Module dans votre fichier application.xml dans Testear. Assurez-vous également qu'ils font tous les deux partie de l'oreille.

Pour les types d'entités sans connu si cette erreur apparaît dans RSA, vous voudrez peut-être cliquer avec le bouton droit sur le projet et rechercher "JPA Tools" et sélectionner "Configurer les entités JPA", si vous ne voyez pas "les outils JPA", assurez-vous que les facettes JPA sont activé pour ce projet. Si cela se produit sur le serveur (était-ce que je présume), assurez-vous que la ligne suivante n'est pas dans votre persistance.xml <exclude-unlisted-classes>true</exclude-unlisted-classes> Ou toutes les classes devront y être répertoriées, pas nécessairement une mauvaise chose.

À moins qu'il ne soit absolument critique, je stockerais vos EJB et entités dans le même projet pour simplifier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top