Alteração no Hibernate

Oi galera,

Tenho o seguinte método:

public Usuario50 alterar(Usuario50 usuario) throws HibernateException {
Sessao sessao = Sessao.getInstancia();
Session session = sessao.currentSession();
usuario.setDs_senha( criptografarSenha(usuario.getDs_senha()) );
session.update( usuario );
sessao.closeSession();
return pesquisar(usuario.getDs_login());
}

e a Classe:

public class Sessao {

private static SessionFactory sessionFactory;
private static final ThreadLocal session = new ThreadLocal();
private static Sessao instancia;

private Sessao() throws HibernateException {
sessionFactory = new Configuration().configure().buildSessionFactory();
}

public static synchronized Sessao getInstancia() throws HibernateException {
if ( instancia == null ) {
instancia = new Sessao();
}
return instancia;
}

public Session currentSession() throws HibernateException {
Session s = (Session) session.get();
if ( s == null ) {
s = sessionFactory.openSession();
session.set( s );
}
return s;
}

public void closeSession() throws HibernateException {
Session s = (Session) session.get();
session.set( null );
if ( s != null ) {
s.close();
}
}

}

Eu envio o VO para ser alterado, mas o Hibernate não altera e não da erro algum.

Alguém já passou por isso e conseguiu resolver?

[]s

talvez precise fazer flush e connection.commit para alguns bancos…

mas o melhor é usar a Transaction do hibernate…