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!