0

Je travaille sur un projet qui utilise jsf 1.X et hibernate, où je suis nouveau. Nous utilisons ci-dessous le code pour update_Comment mettre à jour la base de données en utilisant Hibernate?

 Shift4DAO dao = Shift4DAO.getInstance(); 
     Session session = dao.createNewSession(); 
     Transaction transaction = null; 
     try { 
      transaction = session.beginTransaction(); 
      session.saveOrUpdate(shift4B); 
      transaction.commit(); 
     } catch (final HibernateException e) { 
      e.printStackTrace(); 
      if (transaction != null) { 
       transaction.rollback(); 
      } 

Comment Session.saveOrUpdate (shift4B); ça marche (Flow)? où Shift4DAO.java

public class Shift4DAO extends BaseShift4DAO { 

public Shift4DAO() {} 
} 

Et Shift4.java

public class Shift4 extends BaseShift4 { 
private static final long serialVersionUID = 1L; 


public Shift4() { 
    super(); 
} 


public Shift4 (java.lang.Integer id) { 
    super(id); 
} 


public Shift4 (
    java.lang.Integer id, 
    org.azureworlds.dao.Employee createdBy, 
    org.azureworlds.dao.Employee lastUpdatedBy, 
    org.azureworlds.dao.Reservation reservation) { 

    super (
     id, 
     createdBy, 
     lastUpdatedBy, 
     reservation); 
} 

} 

je ne comprends pas comment je me connecter à mettre à jour pour la mise à jour des données. est quelqu'un peut simplifier cela, où je dois vérifier ou comment se connecter à HB? Merci!

+0

la question n'est pas vraiment claire. Vous avez montré du code qui fonctionne probablement et vous demandez comment le faire? quel est le problème – Firo

+0

je suis étudiant ce code, mais je n'ai pas compris comment les données circulent dans ce code, et comment il se connecte à d'autres codes? –

Répondre

1

dao.createNewSession(); crée une session d'hibernation qui encapsule une connexion à une base de données et implémente le motif "Unité de travail". session.saveOrUpdate(shift4B); indique à la session que shift4B doit être créé (INSERT) ou mis à jour en fonction de l'état de l'entité (nouveau ou modifié).

+0

mais comment il trouve sa classe javaBean correspondante et aller à HBconfi? –

+1

Dans le mappage hbm, il y a la classe spécifiée à laquelle appartient le mappage. Hibernate utilise shift4B.class.Fullname pour obtenir le mapping correspondant et tout ce dont il a besoin est défini ici – Firo

+0

tnx, et pourquoi nous avons utilisé DAO qui n'est rien, juste un constructeur vide? signifie que quand je fais saveOrUpdate (obj) alors il va pour la classe de _obj_ à travers le fichier HBM? –

Questions connexes