atg.metier.dao.hibernate
Class ATGDaoHibernate<K extends ATGIEntite>

Package class diagram package ATGDaoHibernate
java.lang.Object
  extended by atg.util.service.ATGBasicClass
      extended by atg.metier.dao.ATGDao<K>
          extended by atg.metier.dao.hibernate.ATGDaoHibernate<K>
All Implemented Interfaces:
ATGILogable

public class ATGDaoHibernate<K extends ATGIEntite>
extends ATGDao<K>


Field Summary
protected  java.lang.Class laClasse
          Classe sur laquelle on va effectuer la recherche
protected static java.util.logging.Logger logger_
          référence vers le log
protected  java.lang.String reference
          référence le type de connexion (permet de gérer plusieurs connexion différente
 
Fields inherited from class atg.metier.dao.ATGDao
NIVEAU_ATTRIBUTS, NIVEAU_ATTRIBUTS_VO, NIVEAU_IDENTIFIANT, NIVEAU_VIDE
 
Constructor Summary
ATGDaoHibernate(java.lang.Class uneClasse)
           
 
Method Summary
 void begin()
          Ouvre une nouvelle session si nécessaire et Ouvre une transaction Hibernate conseille dans la majorité des cas un session/transaction par requête utilisateur.
 void commit()
          Enregistre une transaction et ferme la session
 int countByCritere(ATGListCritereValue critere)
          Permet d'obtenir le nombre de données correspondant à un critère, sans pour autant charger les VO en mémoire
 void delete(ATGIdentifiant identifiant)
          Suppression d'un enregistrement en base de donnée
 void delete(K entite)
          Suppression d'un enregistrement en base de donnée
 ATGIListEntity<K> executeRequete(ATGListCritereValue listeCritere, int niveau)
          Exécute une requete Si une transaction existe déjà par une begin, l'ordre s'exécute dans cette transaction sinon une transaction est ouverte et
protected  org.hibernate.Session getConnection()
          Retourne une instance de Session provenant du pool .
protected  java.util.logging.Logger getLogger()
          Retourne le log associé
 java.lang.String getReference()
           
 void insert(K entite)
          Insertion d'un enregistrement en base de données
protected  void libererRessource()
          Ferme le resultSet, le statement et la connexion en cours d'utilisation
 void rollback()
          Annule une transaction et ferme la session
 ATGIListEntity<K> selectAll()
          Chargement de tous les enregistrements en base de données.
 ATGIListEntity<K> selectByCritere(ATGListCritereValue critere)
          Chargement d'un enregistrement en base de données à partir de son identifiant
 ATGIListEntity<K> selectByCritere(ATGListCritereValue critere, int niveau)
          Chargement de plusieurs enregistrements en base de données à partir de valeurs
 K selectByIdentifiant(ATGIdentifiant identifiant)
          Chargement d'un enregistrement en base de données à partir de son identifiant
 K selectByIdentifiant(ATGIdentifiant identifiant, int niveau)
          Chargement d'un enregistrement en base de données à partir de son identifiant
 void setReference(java.lang.String reference)
           
 void update(K entite)
          Modification d'un enregistrement en base de donnée
 
Methods inherited from class atg.util.service.ATGBasicClass
logConfig, logFine, logFiner, logFinest, logInfo, logSevere, logWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

reference

protected java.lang.String reference
référence le type de connexion (permet de gérer plusieurs connexion différente


laClasse

protected java.lang.Class laClasse
Classe sur laquelle on va effectuer la recherche


logger_

protected static java.util.logging.Logger logger_
référence vers le log

Constructor Detail

ATGDaoHibernate

public ATGDaoHibernate(java.lang.Class uneClasse)
Method Detail

getConnection

protected org.hibernate.Session getConnection()
                                       throws ATGDaoBaseIndisponibleException
Retourne une instance de Session provenant du pool .

Returns:
org.hibernate.Session
Throws:
ATGDaoBaseIndisponibleException

executeRequete

public ATGIListEntity<K> executeRequete(ATGListCritereValue listeCritere,
                                        int niveau)
                                                    throws ATGDaoBaseIndisponibleException,
                                                           ATGDaoAccessSupportException,
                                                           ATGDaoDataNotFoundException
Exécute une requete Si une transaction existe déjà par une begin, l'ordre s'exécute dans cette transaction sinon une transaction est ouverte et

Throws:
ATGDaoBaseIndisponibleException
ATGDaoAccessSupportException
ATGDaoDataNotFoundException

delete

public void delete(K entite)
            throws ATGDaoDataNotFoundException,
                   ATGDaoAccessSupportException
Description copied from class: ATGDao
Suppression d'un enregistrement en base de donnée

Specified by:
delete in class ATGDao<K extends ATGIEntite>
Parameters:
entite - ATGIEntite entite de l'enregistrement
Throws:
ATGDaoDataNotFoundException
ATGDaoAccessSupportException

delete

public void delete(ATGIdentifiant identifiant)
            throws ATGDaoDataNotFoundException,
                   ATGDaoAccessSupportException
Description copied from class: ATGDao
Suppression d'un enregistrement en base de donnée

Specified by:
delete in class ATGDao<K extends ATGIEntite>
Parameters:
identifiant - ATGIdentifiant identifiant de l'enregistrement
Throws:
ATGDaoDataNotFoundException
ATGDaoAccessSupportException

insert

public void insert(K entite)
            throws ATGDaoAccessSupportException
Description copied from class: ATGDao
Insertion d'un enregistrement en base de données

Specified by:
insert in class ATGDao<K extends ATGIEntite>
Parameters:
entite - ATGIEntite Value object à persiter
Throws:
ATGDaoAccessSupportException

selectAll

public ATGIListEntity<K> selectAll()
                                               throws ATGDaoDataNotFoundException,
                                                      ATGDaoAccessSupportException
Description copied from class: ATGDao
Chargement de tous les enregistrements en base de données.

Specified by:
selectAll in class ATGDao<K extends ATGIEntite>
Returns:
ATGListValueObject Liste de value objet répondant au critère.
Throws:
ATGDaoDataNotFoundException
ATGDaoAccessSupportException

selectByCritere

public ATGIListEntity<K> selectByCritere(ATGListCritereValue critere,
                                         int niveau)
                                                     throws ATGDaoDataNotFoundException,
                                                            ATGDaoAccessSupportException
Description copied from class: ATGDao
Chargement de plusieurs enregistrements en base de données à partir de valeurs

Specified by:
selectByCritere in class ATGDao<K extends ATGIEntite>
Parameters:
critere - ATGListCritereValue critere de la recherche
niveau - int Niveau d'arborescence souhaité pour le chargement des objets en cascade
Returns:
ATGListValueObject Liste de value objet répondant au critère.
Throws:
ATGDaoDataNotFoundException
ATGDaoAccessSupportException

selectByCritere

public ATGIListEntity<K> selectByCritere(ATGListCritereValue critere)
                                                     throws ATGDaoDataNotFoundException,
                                                            ATGDaoAccessSupportException
Description copied from class: ATGDao
Chargement d'un enregistrement en base de données à partir de son identifiant

Specified by:
selectByCritere in class ATGDao<K extends ATGIEntite>
Parameters:
critere - ATGListCritereValue critere de la recherche
Returns:
ATGListValueObject Liste de value objet répondant au critère.
Throws:
ATGDaoDataNotFoundException
ATGDaoAccessSupportException

selectByIdentifiant

public K selectByIdentifiant(ATGIdentifiant identifiant,
                             int niveau)
                                         throws ATGDaoDataNotFoundException,
                                                ATGDaoAccessSupportException
Description copied from class: ATGDao
Chargement d'un enregistrement en base de données à partir de son identifiant

Specified by:
selectByIdentifiant in class ATGDao<K extends ATGIEntite>
Parameters:
identifiant - ATGIdentifiant identifiant de l'enregistrement
niveau - int Niveau d'arborescence souhaité pour le chargement des objets en cascade
Throws:
ATGDaoDataNotFoundException
ATGDaoAccessSupportException

selectByIdentifiant

public K selectByIdentifiant(ATGIdentifiant identifiant)
                                         throws ATGDaoDataNotFoundException,
                                                ATGDaoAccessSupportException
Description copied from class: ATGDao
Chargement d'un enregistrement en base de données à partir de son identifiant

Specified by:
selectByIdentifiant in class ATGDao<K extends ATGIEntite>
Parameters:
identifiant - ATGIdentifiant identifiant de l'enregistrement
Throws:
ATGDaoDataNotFoundException
ATGDaoAccessSupportException

update

public void update(K entite)
            throws ATGDaoDataNotFoundException,
                   ATGDaoAccessSupportException
Description copied from class: ATGDao
Modification d'un enregistrement en base de donnée

Specified by:
update in class ATGDao<K extends ATGIEntite>
Parameters:
entite - ATGIEntite Value object à modifier
Throws:
ATGDaoDataNotFoundException
ATGDaoAccessSupportException

countByCritere

public int countByCritere(ATGListCritereValue critere)
                   throws ATGDaoAccessSupportException
Description copied from class: ATGDao
Permet d'obtenir le nombre de données correspondant à un critère, sans pour autant charger les VO en mémoire

Specified by:
countByCritere in class ATGDao<K extends ATGIEntite>
Returns:
ATGListValueObject Liste de value objet répondant au critère.
Throws:
ATGDaoAccessSupportException

libererRessource

protected void libererRessource()
Ferme le resultSet, le statement et la connexion en cours d'utilisation


getReference

public java.lang.String getReference()
Returns:
Renvoie reference.

setReference

public void setReference(java.lang.String reference)
Parameters:
reference - reference à définir.

getLogger

protected java.util.logging.Logger getLogger()
Retourne le log associé

Overrides:
getLogger in class ATGBasicClass
Returns:
java.util.logging.Logger Trace associée

begin

public void begin()
           throws ATGDaoAccessSupportException
Ouvre une nouvelle session si nécessaire et Ouvre une transaction Hibernate conseille dans la majorité des cas un session/transaction par requête utilisateur. Une requête métier pouvant consister en plusieurs ordres simple, utilisez : - begin() au début de la méthode métier pour ouvrir une transaction - commit() aprés tous les ordres CRUD de la méthode métier - rollback() en cas d'exception involontaire d'un des ordres ou volontaire à la suite d'un de ces ordres Attention : Pour bien isoler la transaction d'un utilisateur , le DAO doit avoir été instancié pour chaque requête utilisateur : Le cycle de vie doit ne doit donc pas être singleton mais instancié dans chaque méthode métier du controleur. Le cycle de vie doit en outre permettre au controleur d' appeler begin, commit et rollback en mappant ces méthodes du DAO.

Throws:
ATGDaoAccessSupportException - si la session n'existe pas

rollback

public void rollback()
              throws ATGDaoAccessSupportException
Annule une transaction et ferme la session

Throws:
ATGDaoAccessSupportException

commit

public void commit()
            throws ATGDaoAccessSupportException
Enregistre une transaction et ferme la session

Throws:
ATGDaoAccessSupportException