pessoALL tenho um método do tipo List que executa a seguinte consulta em sql nativo que me retorna vários registros do banco, porém preciso preencher um objeto chamado PENSAO com esses resultados para mostrá-los em um datatable, mas não estou sabendo fazer isso… segue meus códigos:
MÉTODO QUE FAZ A CONSULTA (Da forma como está implementado retorna o erro: org.hibernate.PropertyNotFoundException: Could not find setter for INSTITUIDOR on class br.mil.eb.dgp.sirf3.negocio.entidade.sipopip.Pensao):
private String SELECT_PENSOES_CADASTRADAS_CODIGO_INDEVIDO =
"select nvl(inst.nome,'NÃO CADASTRADO') || ' - ' || p.pes_identificador_cod instituidor, " +
"pens.nome || ' - ' || p.pens_pes_identificador_cod pensionista, " +
"p.tipo_pensao_codigo || '-' || tp.descricao tipoPensao, " +
"p.orgao_codigo CODOM, " +
"o.sigla om " +
"from pensao p " +
"left join pessoa inst on inst.identificador_cod = p.pes_identificador_cod " +
"left join pessoa pens on pens.identificador_cod = " +
"p.pens_pes_identificador_cod " +
"left join orgao o on o.codigo = p.orgao_codigo " +
"left join tipo_pensao tp on tp.codigo = p.tipo_pensao_codigo " +
"where p.pes_identificador_cod <> p.pens_pes_identificador_cod " +
"and p.tipo_pensao_codigo in (7,8) " +
"and CODOM = :CODOM " +
"order by pens.nome";
public List<Pensao> pesquisarAlertasPensaoCodigoIncorreto(Orgao orgao){
Criteria c = hibernateSessionSirf3.createCriteria(initPersistentClass(),"Pensao");
SQLQuery query = hibernateSessionSirf3.createSQLQuery( SELECT_PENSOES_CADASTRADAS_CODIGO_INDEVIDO );
query.setString("CODOM", orgao.getCodom());
query.setResultTransformer(Transformers.aliasToBean(Pensao.class));
return (List<Pensao>) query.list();
}
ENTIDADE PENSAO
package br.mil.eb.dgp.sirf3.negocio.entidade.sipopip;
import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.hibernate.annotations.Type;
import org.hibernate.proxy.HibernateProxy;
import org.hibernate.validator.NotNull;
import br.mil.eb.dgp.sirf3.negocio.entidade.militar.Pessoa;
import br.mil.eb.dgp.sirf3.negocio.entidade.organizacaoexercito.Orgao;
import br.mil.eb.dgp.sirf3.negocio.entidade.tipos.TipoPensao;
import br.mil.eb.dgp.sirf3.negocio.enums.PensaoTipoDocumento;
@Entity
@Table(name = "PENSAO", schema = "RH_QUADRO")
public class Pensao implements java.io.Serializable {
/**
* Entidade referente a tabela PENSAO.
*/
private static final long serialVersionUID = 1L;
@EmbeddedId
@AttributeOverrides( {
@AttributeOverride(name = "pensionista", column = @Column(name = "PENS_PES_IDENTIFICADOR_COD", nullable = false, length = 12)),
@AttributeOverride(name = "instituidor", column = @Column(name = "PES_IDENTIFICADOR_COD", nullable = false, length = 12)) })
@NotNull
private PensaoId id;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "PES_IDENTIFICADOR_COD", insertable = false, updatable = false)
private Pessoa instituidor;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "PENS_PES_IDENTIFICADOR_COD", insertable = false, updatable = false)
private Pessoa pensionista;
@Temporal(TemporalType.DATE)
@Column(name = "DATA_INCLUSAO", length = 7)
private Date dataInclusao;
@Temporal(TemporalType.DATE)
@Column(name = "DATA_EXCLUSAO", length = 7)
private Date dataExclusao;
@Column(name = "DOC_NUMERO")
private String docNumero;
@Column(name = "DOC_TIPO")
@Type(type = "br.mil.eb.dgp.sirf3.negocio.enums.PensaoTipoDocumento")
private PensaoTipoDocumento docTipo;
@Column(name = "DOC_ORGAO")
private String docOrgao;
@Temporal(TemporalType.DATE)
@Column(name = "DOC_DATA", length = 7)
private Date docData;
@ManyToOne(fetch = FetchType.EAGER, cascade = {})
@JoinColumn(name = "ORGAO_CODIGO", referencedColumnName = "CODOM")
private Orgao orgao;
@ManyToOne(fetch = FetchType.EAGER, cascade = {})
@JoinColumn(name = "TIPO_PENSAO_CODIGO", referencedColumnName = "CODIGO")
private TipoPensao tipoPensao;
@Column(name = "MOTEXCL_COD_EXCLUSAO")
private String codMotivoExclusao;
public String getCodMotivoExclusao() {
return codMotivoExclusao;
}
public void setCodMotivoExclusao(String codMotivoExclusao) {
this.codMotivoExclusao = codMotivoExclusao;
}
public PensaoId getId() {
return id;
}
public void setId(PensaoId id) {
this.id = id;
}
public Date getDataInclusao() {
return dataInclusao;
}
public void setDataInclusao(Date dataInclusao) {
this.dataInclusao = dataInclusao;
}
public Date getDataExclusao() {
return dataExclusao;
}
public void setDataExclusao(Date dataExclusao) {
this.dataExclusao = dataExclusao;
}
public String getDocNumero() {
return docNumero;
}
public void setDocNumero(String docNumero) {
this.docNumero = docNumero;
}
public PensaoTipoDocumento getDocTipo() {
return docTipo;
}
public void setDocTipo(PensaoTipoDocumento docTipo) {
this.docTipo = docTipo;
}
public String getDocOrgao() {
return docOrgao;
}
public void setDocOrgao(String docOrgao) {
this.docOrgao = docOrgao;
}
public Date getDocData() {
return docData;
}
public void setDocData(Date docData) {
this.docData = docData;
}
public Orgao getOrgao() {
return orgao;
}
public void setOrgao(Orgao orgao) {
this.orgao = orgao;
}
public TipoPensao getTipoPensao() {
return tipoPensao;
}
public void setTipoPensao(TipoPensao tipoPensao) {
this.tipoPensao = tipoPensao;
}
public Pessoa getInstituidor() {
return instituidor;
}
public void setInstituidor(Pessoa instituidor) {
this.instituidor = instituidor;
}
public Pessoa getPensionista() {
return pensionista;
}
public void setPensionista(Pessoa pensionista) {
this.pensionista = pensionista;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if(obj.getClass().getName().toLowerCase().contains("javassist")){
obj = (Object) ((HibernateProxy) obj)
.getHibernateLazyInitializer().getImplementation();
}
if (getClass() != obj.getClass())
return false;
Pensao other = (Pensao) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
return true;
}
}
Se alguém puder me dar uma luz