Question

Je suis arrivé dans un nouveau projet avec une nouvelle société et nous essayons d'utiliser JPA pour effectuer certains travaux de base de données. Nous avons donc une oreille avec un EJB, un service Web, puis il y a un client d'application dans l'oreille qui fait vraiment tout le travail. Le service Web appelle l'EJB et celui-ci appelle le client pour effectuer le travail de base de données. Donc, dans l'appclient, je veux charger un EntityManager via des annotations, mais cela ne semble pas fonctionner (em est toujours nul):

@Entity
public class Whatever...{
    @PersistenceContext(unitName="pu")
    EntityManager em;

}

Je pensais donc que je devais charger EntityManager sur l'EJB, mais cela n'a pas fonctionné non plus, car il semblerait que JPA n'ait pas vu les classes Entity car elles sont dans l'appclient et non dans l'EJB. Quelqu'un peut-il me donner des conseils?

Était-ce utile?

La solution

Ceci est une utilisation abusive d'un client d'application. Tous vos traitements de base de données doivent avoir lieu dans l’EJB. Il ne semble pas exister de raison apparente à l'existence des clients de l'application.

Ce lien renvoie à un ancien article, mais donne des exemples d'utilisation d'un client d'application (applications non backend).

client d'application

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