Problemas para salvar objeto com hibernate

Pessoal estou com um problema que naum consigo resolver,qdo preencho o formulario e mando salvar ele da este log no console do server

08:30:06,875 INFO  [STDOUT] Hibernate: select nextval ('geraCodProduto')
08:30:06,968 INFO  [STDOUT] Hibernate: select produto0_.produtoid as produtoid16_, produto0_.modelo as modelo16_, produto0_.qtdtotal as qtdtotal16_, produto0_.valorcusto as valorcusto16_, produto0_.valorvenda as valorvenda16_, produto0_.situacao as situacao16_, produto0_.datacadastro as datacada7_16_, produto0_.linha as linha16_ from produto produto0_ order by produto0_.modelo

ele gera o codigo só,más não persiste o objeto no banco,desconfio que seja alguma coisa no mapeamento,alguem pode ajudar?

segue o mapeamento da classe Produto:




package com.Lgweb.Tcc.Model;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Collection;
import java.util.Date;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Classe de entidade Produto
 * 
 * @author leandro
 */
@Entity
@Table(name = "produto")
    @SequenceGenerator(name = "geraCodProduto", sequenceName = "geraCodProduto")
public class Produto implements Serializable {
	private static final long serialVersionUID = 1L;
	@Id @GeneratedValue(strategy = GenerationType.AUTO, generator = "geraCodProduto") 
    @Column(name = "produtoid", nullable = false)
    private Integer produtoid;
    @Column(name = "modelo")
    private String modelo; 

    @Column(name = "qtdtotal", nullable = false)
    private BigInteger qtdtotal;

    @Column(name = "valorcusto")
    private Double valorcusto;

    @Column(name = "valorvenda")
    private Double valorvenda;

    @Column(name = "situacao")
    private String situacao;

    @Column(name = "datacadastro")
    @Temporal(TemporalType.DATE)
    private Date datacadastro= new Date();

    @Column(name = "linha")
    private String linha;   

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "produto" )
    private Collection<Itensvenda> itensvendaCollection;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "produto")
    private Collection<Itenscompra> itenscompraCollection;
    
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "produto" )   
    private Collection<ProdutoNumeracao> produtoNumeracaoCollection;

    
    public Produto() {
    } 
   

   
    public static long getSerialVersionUID() {
		return serialVersionUID;
	}

    public Integer getProdutoid() {
        return this.produtoid;
    }
    
    public void setProdutoid(Integer produtoid) {
        this.produtoid = produtoid;
    }
   
    public String getModelo() {
        return this.modelo;
    }
    
    public void setModelo(String modelo) {
        this.modelo = modelo;
    }

  
    public Double getValorvenda() {
        return this.valorvenda;
    }
   
    public void setValorvenda(Double valorvenda) {
        this.valorvenda = valorvenda;
    }

  
    public String getSituacao() {
        return this.situacao;
    }
    
    public void setSituacao(String situacao) {
        this.situacao = situacao;
    }
   
    public Date getDatacadastro() {
        return this.datacadastro;
    }
    
    public void setDatacadastro(Date datacadastro) {
        this.datacadastro = datacadastro;
    }
   
    public String getLinha() {
        return this.linha;
    }
   
    public void setLinha(String linha) {
        this.linha = linha;
    }  

	public BigInteger getQtdtotal() {
		return qtdtotal;
	}

	public void setQtdtotal(BigInteger qtdtotal) {
		this.qtdtotal = qtdtotal;
	}

	public Collection<ProdutoNumeracao> getProdutoNumeracaoCollection() {
		return produtoNumeracaoCollection;
	}

	public void setProdutoNumeracaoCollection(
			Collection<ProdutoNumeracao> produtoNumeracaoCollection) {
		this.produtoNumeracaoCollection = produtoNumeracaoCollection;
	}

	public Double getValorcusto() {
		return valorcusto;
	}

	public void setValorcusto(Double valorcusto) {
		this.valorcusto = valorcusto;
	}

	public Collection<Itensvenda> getItensvendaCollection() {
        return this.itensvendaCollection;
    }
    
    public void setItensvendaCollection(Collection<Itensvenda> itensvendaCollection) {
        this.itensvendaCollection = itensvendaCollection;
    }
    
    public Collection<Itenscompra> getItenscompraCollection() {
        return this.itenscompraCollection;
    }
   
    public void setItenscompraCollection(Collection<Itenscompra> itenscompraCollection) {
        this.itenscompraCollection = itenscompraCollection;
    }
   
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (this.produtoid != null ? this.produtoid.hashCode() : 0);
        return hash;
    }
   
    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Produto)) {
            return false;
        }
        Produto other = (Produto)object;
        if (this.produtoid != other.produtoid && (this.produtoid == null || !this.produtoid.equals(other.produtoid))) return false;
        return true;
    }
   
    @Override
    public String toString() {
        return " "+ modelo ;
    }

}

Metodo create no bean jsf:

public String  create() {
		IDaoProduto ldao = new DaoProduto(); 
        System.out.println("Modelo do Produto..............:"+produto.getModelo());
		ldao.salvar(produto);
		getTodos();
		return "sucesso_incProduto";
    	}[code][/code]

Metodo salvar no Dao:

public void salvar(Produto produto) {
		session = HibernateUtil.getInstance();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
		       System.out.println("Modelo do Produto NO DAO...:"+produto.getModelo());
				
			session.saveOrUpdate(produto);
			tx.commit();
		} catch (HibernateException e) {
			tx.rollback();
		} finally {
			session.close();
		}
		
	}

Na pagina:

<h:commandButton action="#{produto.create}"	value="#{msg.salvar}"></h:commandButton>

Obrigado,abraços.

Não persiste mas dá erro? Não tem erro? Já viu o commit do banco? Qual banco usa?

Nao da erro nenhum,simplesmente no log aparece que foi gerado uma nova sequence no banco"select nextVal" e mais nada,naum sei o que pode ser ja tentei usar save e saveOrupdate mas nao adianta,estou usando o postgresql 8.1.

Ja chegou a ver o commit do banco?

naum,onde posso ver isso,de que maneira?

Galera persiste o problema alguem ja passou por isso?O negócio ta macabro aqui. :frowning:

Só um detalhe,o update() funciona é so o save que naum funciona!
:cry: