Problemas com método sava do hibernate

E aí galera beleza?
eu estou passando uma entidade do tipo que foi mapeado no hibernate no método save da classe Session do hibernate.
O problema é que é executado o método save, depois o metoto commit da classe transaction, não dá nenhum erro mas, num dado é inserido na basse de dados.
meu mapeamento do hibernate está assim:

o mapeamento da tabela

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="br.com.lojahardware.vo.LivroCaixaVO" table="livroCaixa">
		<id name="idLivroCaixa" column="idLivroCaixa">
			<generator class="increment"/>
		</id>
		<property name="data" column="data"/>
		<property name="descricao" column="descricao"/>
		<property name="valor" column="valor"/>
		<property name="desconto" column="desconto"/>		
		<one-to-one name="formaPagamento" class="br.com.lojahardware.vo.FormaPagamentoVO"/>
	</class>
</hibernate-mapping>

o vo que representa a tabela

/**

 * Criado em 13/08/2006

 */

package br.com.lojahardware.vo;



import java.util.Date;





/**

 * @author Leandro Costa Silva(<a href="mailto:leandro@developerti.com.br">leandro@developerti.com.br</a>)

 *

 */

public class LivroCaixaVO implements VO {



	/**

	 * 

	 */

	private static final long serialVersionUID = -804212481195508531L;

	

	private Long idLivroCaixa;	

    private Date data;

    private String descricao;

    private FormaPagamentoVO formaPagamento;

    private Double valor;

    private String desconto;



	/**

	 * 

	 */

	public LivroCaixaVO() {

		super();

		// TODO Auto-generated constructor stub

	}



	/* (non-Javadoc)

	 * @see br.com.lojahardware.vo.VO#clear()

	 */

	public void clear() {

		// TODO Auto-generated method stub



	}



	/**

	 * @return Returns the data.

	 */

	public Date getData() {

		return data;

	}



	/**

	 * @param data The data to set.

	 */

	public void setData(Date data) {

		this.data = data;

	}



	/**

	 * @return Returns the desconto.

	 */

	public String getDesconto() {

		return desconto;

	}



	/**

	 * @param desconto The desconto to set.

	 */

	public void setDesconto(String desconto) {

		this.desconto = desconto;

	}



	/**

	 * @return Returns the descricao.

	 */

	public String getDescricao() {

		return descricao;

	}



	/**

	 * @param descricao The descricao to set.

	 */

	public void setDescricao(String descricao) {

		this.descricao = descricao;

	}



	/**

	 * @return Returns the formaPagamento.

	 */

	public FormaPagamentoVO getFormaPagamento() {

		return formaPagamento;

	}



	/**

	 * @param formaPagamento The formaPagamento to set.

	 */

	public void setFormaPagamento(FormaPagamentoVO formaPagamento) {

		this.formaPagamento = formaPagamento;

	}



	/**

	 * @return Returns the valor.

	 */

	public Double getValor() {

		return valor;

	}



	/**

	 * @param valor The valor to set.

	 */

	public void setValor(Double valor) {

		this.valor = valor;

	}



	/**

	 * @return the idLivroCaixa

	 */

	public Long getIdLivroCaixa() {

		return idLivroCaixa;

	}



	/**

	 * @param idLivroCaixa the idLivroCaixa to set

	 */

	public void setIdLivroCaixa(Long idLivroCaixa) {

		this.idLivroCaixa = idLivroCaixa;

	}



}

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<property name="connection.datasource">java:jdbc/lojahardware</property>
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="show_sql">false</property>
		<property name="use_outer_join">false</property>

		<!-- Configurações de debug -->
		<property name="show_sql">true</property>
		<property name="hibernate.generate_statistics">true</property>
		<property name="hibernate.use_sql_comments">true</property>
		<mapping resource="br/com/lojahardware/vo/FormaPagamentoVO.hbm.xml"/>
		<mapping resource="br/com/lojahardware/vo/LivroCaixaVO.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

O método no dao que insere está assim:

try{
			logger.info("Inserindo linha na tabela...");
			getSessao().save(vo);
			getSessao().beginTransaction().commit();//Finalizando a transação
			getSessao().close(); //Fechando a sessão
			logger.info("Linha inserida com sucesso!");
		}catch (Exception e) {
			logger.error(ConstantesDAO.ERROINSERIR, e);
			throw new DAOException(ConstantesDAO.ERROINSERIR, e);
		}

não vejo nada de errado, mas se puderem me ajudar eu agradeço!

e aí galera beleza?
Descobri meu problema, na verdade estava tentando usar a currentSession mas mas sem abri-la. Ai fica dificil.
fiz desta forma:

sessao = SessionFactoryUtil.getSessionFactory().openSession();

valeu pela força!

Disponha
eheh