J’ai récemment commencé à étudier l’outil Hibernate et je me suis posé des questions comme :
Faut il définir les clés étrangères dans la base de donné ou juste mettre une colonne de même type que la clé de l’autre table ?
Si je ne met pas de clés étrangère j’aurai pas à définir les « many-to-one » ou les « set » et je crois que c’est plus simple.
Autre chose, pour les sessions et les transactions, j’utilise l’outil MyEclipse qui génère automatiquement une classe utilitaire ( par expl : pr une table PERSONNE, il génère une classe PeersonneDAO) qui permet d’utiliser certaines méthodes comme la méthode getSession() et save(), ma question est : est ce qu’on peut ouvrir une session avec getSession() d’un objet de type PersonneDAO et utiliser la methode save de deux objet différents ? en d’autre terme, la session permet elle de manipuler les objets de meme type seulement ou de type différents ?
Si quelqu’un peut m’éclairer alors je le remercie d’avance.
Voici un exemple de code sure qui illustre la dernière question :
PersonneDAO dao=new PersonneDAO();
Transaction tx=dao.getSession().beginTransaction();
dao.save(personne);
tx.commit();
dao.getSession().close();
VoitureDAO vdao=new VoitureDAO();
Transaction tx2=vdao.getSession().beginTransaction();
vdao.save(voiture);
tx2.commit();
vdao.getSession().close();
ou faire:
PersonneDAO dao=new PersonneDAO();
Transaction tx=dao.getSession().beginTransaction();
dao.save(personne);
VoitureDAO vdao=new VoitureDAO();
vdao.save(voiture);
tx.commit();
dao.getSession().close();
Partager