Bonjour,
Je reviens à l'attaque avec mes questions tordues ...
Voila je souhaiterais intégrer les fonctionnalités de DAO dans le bean correspondant mais sans y intégrer le code.
Donc je voudrais pouvoir faire :
Mais je souhaiterais (grâce à l'héritage, aux implémentations et aux classes abstraites) que les fichiers restent séparés !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 User u = User.find(1); u.setName("toto"); u.save();
Voila comment je voudrais que ça marche :
-----> 1 : PojoItem
C'est mon conteneur de bean de base, tous mes beans étendront cette classe !
(C'est avec cette classe et du typage que je clone sans cast, etc ... cf le thread ==> ICI <==)
-----> 2 : HibernateFactory
C'est uniquement des méthodes permettant de faire mes connexions et mes transactions avec hibernate.
-----> 3 : DAO
C'est une classe basique permettant de manipuler mes beans (ou tout ce qui étend PojoItem dans mon cas)
Les méthodes find() et findAll() seront publiques (et statique ???)
Les méthodes delete(), save(), update() seront protégées et devront être surchargées pour être utilisées.
C'est ici qu'on appelle les factory, dont HibernateFactory !
Maintenant, les classes propres à la logique métier, donc des exemples.
-----> 4 : UserDAO
Elle étend ou surcharge la classe DAO, ici on trouvera tout le code métier de travail avec les beans.
On pourra surcharger ou non les méthodes qui nous intéressent.
-----> 5 : User
Elle étend PojoItem au minima, car c'est un objet qui sera manipulé par la DAO.
C'est un pur bean donc champs, getters, setters ....
Voila ce que j'ai aujourd'hui (j'ai pas spécifié tous les typages de classes qui me permettent de pas caster toutes les 10 lignes et qui simplifient bien la manipulation ensuite !)
J'aimerais donc, par un moyen que je ne trouve pas, que mon Objet "User" intègre directement (sans possibilité de surcharge, juste possibilité d'appel) toutes les méthodes qui sont dans "UserDAO".
Ainsi, chacun son job, "User" est le bean de données et "UserDAO" le service métier qui manipule.
Mais avec l'avantage de pouvoir utiliser la DAO directement depuis le bean !
J'espère que je suis assez clair, et aussi que c'est possible !!!
Je met en pièce jointe de quoi voir d'où j'en suit avec les typages et tout.
Toute critique est bienvenue.
Merci à vous d'avance !
Partager