Hibernate annotations + postgresql

Estou aprendendo a utilizar esta tecnologia mas no primeiro exemplo que estou fazendo esta acontecendo o seguinte problema:
mando salvar um cliente e a aplicação nao dispara nenhum erro, a sequencia do campo serial do banco incrementa, mas nao salva o objeto.
as classes são as seguntes.


[code]import javax.persistence.*;

@Entity
public class Cliente {

@Id
@Column(name =“clienteid”)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name=“clientenome”, nullable=false)
private String nome;
@Column(name=“clienteEndereco”, nullable=false)
private String endereco;

public Cliente() {
}
gets/sets

import br.com.rafael.locadora.model.Cliente;
import br.com.rafael.locadora.model.Jpa;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

public class HibernateFactory {

private static SessionFactory factory;

static{
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(Cliente.class);
factory = cfg.buildSessionFactory();
}

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

}


import br.com.rafael.locadora.hibernate.HibernateFactory;
import org.hibernate.Session;

public class TestaPersistencia {

/** Creates a new instance of TestaPersistencia */
public static void main(String[] args){
Session session = new HibernateFactory().getSession();
Cliente cliente = new Cliente();
cliente.setEndereco(“Rua xxxx”);
cliente.setNome(“Rafael”);
session.save(cliente);
System.out.println("Cliente ID: "+cliente.getId());
session.close();

}

}
[/code]

Você precisa usar uma transação.

session.beginTransaction();
.....
session.save(cliente);
session.getTransaction().commit();
session.close();

Valeu ai meu camarada deu certo!!!