Précédent   Forum du club des développeurs et IT Pro > Java > Général Java > Persistance
Persistance Forum d'entraide pour la persistance en Java : base de donnée, xml, mapping orienté objet, ... Posez vos questions sur iBatis, JDO, XmlBeans, Castor, JAXB, XStream, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/10/2012, 17h29   #1
scandinave
Membre du Club
 
Homme
Développeur Java, Php, html, css, javascript
Inscription : mai 2009
Messages : 103
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java, Php, html, css, javascript

Informations forums :
Inscription : mai 2009
Messages : 103
Points : 51
Points : 51
Par défaut Problème invocation EJB via annotation.

Bonjour,
j'ai une couche métier utilisant JPA + EJB.
Pour des raisons de simplicité, j'ai créé ce que j'appelle des catalogues. Ceux-ci corresponde à des tables ayant juste une méthode id et title.

J'ai donc créer un EJB Catalog me permettant l'accès au différent catalogue de l'application.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
@Stateless
@LocalBean
public class CatalogEJB<T extends Catalog> implements CatalogEJBLocal<T> {
 
	@PersistenceContext(unitName="unitName")
	private EntityManager em;
	private T obj;
    /**
     * Default constructor. 
     */
    public CatalogEJB(T o) {
    	 obj = o;
    }
 
     public T findById(Long id) {
                // obj est null
		return (T) em.find(obj.getClass(), id);
     }
}
et l'interface de l'EJB
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
@Local
public interface CatalogEJBLocal<T extends Catalog> {
	public T findById(Long id);
 
	public List<T> findByTitle(String title);
 
	public List<T> findAll();
 
	public T saveOrUpdate(T objectToSave);
 
	public boolean delete(T objectToDelete);
 
	public List<T> saveOrUpdate(List<T> objectsToSave);
}
Le problème est que j'ai besoin d'appeler le contructeur qui initialise obj en lui passant l'objet souhaité. Seulement je ne sais pas comment faire cela avec l'annotation @EJB

J'ai pensé récréer une annotation @EJBC calquée sur @EJB qui me permetrait en paramètre de passé l'objet et d'appeler le bon constructeur mais je ne sais pas trop comment procéder .

Quelqu'un à-t-il une idée?
scandinave est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h06.


 
 
 
 
Partenaires

Hébergement Web