Bonjour à tous,
D'après ce que j'ai vu dans le code de
ToPIA-persistence, il n'y a pas de possibilité que l'utilisateur crée
un DAOImpl personnalisé pour remplacer celui généré. En effet le
DAOImpl est toujours généré donc incompatibilité si l'utilisateur en
crée un nouveau et aucune prise en compte car l'interface (faux, voir
plus loin) n'est pas mise à jour avec les nouvelles méthodes. A
l'instar des Entités, il serait intéressant de pouvoir rajouté dans le
modèle XMI la possibilité d'ajouter des méthodes sur les DAO et non sur
les Entités. Pourquoi ? Tout simplement pour permettre l'ajout de
méthode spécifique au DAO non généré (recherche complexe, autre
traitement non pris en compte avec utilisation du SQL avec Hibernate
(je sais plus le nom du langage) pour une requête complexe, ...).
Je propose donc la prise en compte de ces méthodes en les
signalant comme "static" au niveau des entités. La logique suit, une
méthode static est bien général à l'ensemble des entités donc dans un
DAO.
Je viens de voir que les DAO n'ont pas le même modèle de
génération que les entités à savoir : une interface, une classe
abstraite, une classe implémentation mais une classe abstraite, une
classe implémentation et une classe finale qui hérite de
l'implémentation et est utilisé dans les Helper (donc par
l'utilisateur). Pourquoi cette différence ?
Du coup les changements serait a apporté normalement dans le
DAOImplGenerator qui ne doit pas généré le DAOImpl si l'entité lié
possède une méthode abstraite. Il serait intéressant pour globaliser
cette notion de rajouter une méthode hasAbstractOperations dans
ObjectModelClass de EUGene.
Je m'égare peut-être, il y a peut-être déjà une autre possibilité
d'étendre les DAO ? Sinon, qu'en pensez vous de pouvoir préciser des
méthodes static dans les entités qui seront à implémenter par
l'utilisateur dans les DAO (les méthodes ne seront pas static donc) ?
J'espère avoir été clair et précis :p
Florian