Bonjour Nicolas,

Voici un exemple tirer de JahiaSlideUriDAO :

public void update(final JahiaSlideVersionContent versionContent) {
       HibernateTemplate template = getHibernateTemplate();
       template.setFlushMode(HibernateTemplate.FLUSH_AUTO);
template.getSessionFactory().getCurrentSession().evict(versionContent);
       template.execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
               Transaction transaction = session.beginTransaction();
               try {
                   session.update(versionContent);
                   transaction.commit();
               } catch(Throwable t) {
                   logger.error("Cannot update",t);
                   transaction.rollback();
               }
               return null;
           }
       });
   }

Dans cet exemple tu vois que tu as deux facons de recuperer la session en cours, soit tu fais template.getSessionFactory().getCurrentSession(), ou alors tu passes par la methode execute qui te permet de faire du hibernate pur et non du spring hibernate, voila j'espere que cela va t'aider.

Sinon tes DAO sont bien initialiser dans le meme contexte spring que JAHIA ?


Nicolas Lafaury a écrit :
Je reviens vers vous concernant ce point.
en regardant ce qui a été fait sur les classes JahiaAclDAO, qui hérite de AbstractGeneratorDAO <http://www.jahia.org/javadoc-dev_5/org/jahia/hibernate/dao/AbstractGeneratorDAO.html>. j'ai donc essayé de faire pareil, mais en récupérant le currentSession, cela me retourne un null.

y a t il un moyen de récupérer la session d'une autre façon?

Nicolas



Nicolas Lafaury a écrit :
Hello

Je voulais savoir comment récupérer la session hibernate de Jahia ?
En fait j'ai développé une application utilise hibernate et que je voulais mettre dans jahia. Du coup je chercher comment récupérer la session Jahia courante pour sauver mes objets.

merci bien

Nicolas





Répondre à