Bonjour,
Je suis en train de migrer une application Java utilisant Oracle vers une architecture multi-couches, utilisant Spring, JPA et Hibernate.
J'ai suivi un tutoriel de Serge Tahé (Persistance Java 5 par la pratique).
Mon application est un batch qui s'exécute chaque soir lancée par un ordonnanceur d'applications ($U) .
L'application est censée faire des rapprochements entre 2 tables sur des critères, s'il y a des lignes qui se rapprochent, les clés de ces 2 ligne sont mises dans une 3ème table avec la date.
Mon schéma est le suivant :
Avec l'outil Hibernate Tools j'ai réussi à générer les entités (classes Java correspondant aux tables, le package model), et les classes DAO (package DAO).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Table1 : clé1, champs1..n Table2 : clé2, champs1..n Table3 : clé1, clé2, date
Seulement dans la couche métier, je n'arrive pas à l'imaginer.
- Dans le tutoriel, une seule classe DAO est construite mais dans mon cas, Hibernate m'a généré autant de classes DAO qu'il y a de tables.
- Dans la classe service un seul DAO est utilisé pour accéder à une seule table.
Dans mon cas, dans la classe service, faut-il que je crée plusieurs DAO pour accéder aux tables, ou un seul DAO me suffit ?
Comment peut-on faire le lien avec les différents DAO ?
Les requêtes SQL (JPQL) sont à mettre dans les classes DAO ou services ?
Merci d'avance pour votre aide.
Partager