Hibernate não da erro e não grava nada

Olá pessoal se alguém puder dar uma força já estou a um bom tempo com esse problema, modifiquei o meu DAO mas não deu em nada, pois não gera erro, mas no meu servlet retorna que gravou corretamente.

Grato.

[code]public class SetorDao implements Serializable {

private Session session;
//Transaction tx= null;
public Setor insert(Setor setor) {
    Setor s = null;
    try {
        session = HibernateUtil.getFactory().getCurrentSession();
        //session=HibernateUtil.getSession();
        session.beginTransaction();
        //tx=(Transaction) session.beginTransaction();
        session.save(setor);
        HibernateUtil.getFactory().getCurrentSession().getTransaction().commit();
        //tx.commit();
        //session.flush();
        session.close();
        s = setor;
    } catch (Exception he) {
        System.out.println(he);

    }
    return s;
}

esse é o meu HibernateUtil:

public class HibernateUtil {

private static SessionFactory factory;


static {
    try {
        factory = new AnnotationConfiguration().configure().buildSessionFactory();
       // factory.openSession();
       // System.out.println(factory.);
        System.out.println(factory.getCurrentSession());
    } catch (Exception e) {
        e.printStackTrace();
        factory = null;
    }
}

public static SessionFactory getFactory() {

    return factory;

}

public static Session getSession() {
    return factory.openSession();
}

}

[quote=Boby][code]public class SetorDao implements Serializable {

private Session session;
//Transaction tx= null;
public Setor insert(Setor setor) {
    Setor s = null;
    try {
        session = HibernateUtil.getFactory().getCurrentSession();
        //session=HibernateUtil.getSession();
        session.beginTransaction();
        //tx=(Transaction) session.beginTransaction();
        session.save(setor);
        HibernateUtil.getFactory().getCurrentSession().getTransaction().commit();
        //tx.commit();
        //session.flush();
        session.close();
        s = setor;
    } catch (Exception he) {
        System.out.println(he);

    }
    return s;
}[/code][/quote]

Seu commit() esta comentado.
Outra coisa, coloca entre as tag code o seu codigo

mesmo tirando não grava, esse foi a última tentativa que achei mas não tive sucesso.

Tente mudar:

System.out.println(he);

Para:

he.printStackTrace();

E veja se ajuda…

O problema é que não da erro, essa mudança já fiz.

Repare o seguinte, na implementação do seu HibernateUtil, você esta abrindo uma nova session a cada chamada p/ o método

public static Session getSession() { return factory.openSession(); }

Por tanto, quando faz o commit na linha a baixo não a nada a ser commitado pois trata-se de uma outra Session, mas não a erros também, por isso não tem nada no seu log

HibernateUtil.getFactory().getCurrentSession().getTransaction().commit();

Eu aconselho você copiar uma implementação de HibernateUtil que utilize ThreadLocal em primeiro lugar como essa

Mas só p/ comprovar o que lhe disse mude seu Dao p/ o seguinte:

     public Setor insert(Setor setor) {  
         Setor s = null;  
         try {  
             session = HibernateUtil.getFactory().getCurrentSession();
             Transaction tx = session.beginTransaction();
             session.save(setor);
             tx.commit();  
             session.close();  
             s = setor;  
         } catch (Exception he) {  
             he.printStackTrace();   
         }  
         return s;  
     } 

Good Luck!