Boa noite pessoal, estou com um problema estranho aqui, criei meu bean:
package br.com.projeto.bean;
import java.io.Serializable;
public class Conta implements Serializable {
private Long codigoConta;
private String descricaoConta;
public Long getCodigoConta() {
return codigoConta;
}
public void setCodigoConta(Long codigoConta) {
this.codigoConta = codigoConta;
}
public String getDescricaoConta() {
return descricaoConta;
}
public void setDescricaoConta(String descricaoConta) {
this.descricaoConta = descricaoConta;
}
}
Criei meu mapeamento:
<?xml version="1.0"?>
<!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.projeto.Conta" table="TB_CONTA" lazy="true">
<id name="codigoConta" column="CD_CONTA" type="java.lang.Long" unsaved-value="0">
<generator class="sequence">
<param name="sequence">GE_CONTA</param>
</generator>
</id>
<property name="descricaoConta" column="DC_CONTA" type="java.lang.String" />
</class>
</hibernate-mapping>
Criei uma classe de controle da seguinte maneira:
package br.com.projeto.controller;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import br.com.projeto.bean.Conta;
import br.com.projeto.util.Constants;
import br.com.projeto.util.HibernateUtility;
public class ContaController {
private Conta conta;
private DataModel listaContas;
public Conta getConta() {
if (conta == null) {
conta = new Conta();
setConta(conta);
}
return conta;
}
public void setConta(Conta conta) {
this.conta = conta;
}
public String inserirConta() {
Session session = HibernateUtility.getSession();
String retorno = "SUCCESS";
try {
session.saveOrUpdate(conta);
} catch (HibernateException e) {
retorno = "ERROR";
System.out.println(e.getMessage());
}
return retorno;
}
public String excluirConta() {
Session session = HibernateUtility.getSession();
String retorno = "SUCCESS";
try {
session.delete(conta);
session.flush();
} catch (HibernateException e) {
retorno = "ERROR";
System.out.println(e.getMessage());
}
return retorno;
}
public DataModel getListaContas() {
Session session = HibernateUtility.getSession();
try {
Criteria criterio = session.createCriteria(Conta.class);
listaContas = new ListDataModel(criterio.list());
} catch (HibernateException e) {
System.out.println(e.getMessage());
}
return listaContas;
}
public String selecionado () {
String retorno = Constants.OUTCOME_SUCCESS;
try {
conta = (Conta) listaContas.getRowData();
retorno = Constants.OUTCOME_SUCCESS;
} catch (Exception e) {
System.out.println(e.getMessage());
retorno = Constants.OUTCOME_ERROR;
}
return retorno;
}
public String listarConta() {
return Constants.OUTCOME_SUCCESS;
}
}
Quando tento excluir um registro estou recebendo a seguinte mensagem
the detached instance passed to delete() had a null identifier
Alguém sabe o q pode estar ocorrendo ???