Seguinte galera preciso fazer um relacionamento onde 1 padrinho pode ter várias Crianças e uma crianca soh pode ter 1 padrinho.
Esta dando o erro quando tento executar a consulta:
javax.faces.FacesException: #{CriancaBean.FiltrarCriancaNomePadrinhoKit}: org.springframework.orm.hibernate3.HibernateQueryException: could not resolve property: padrinho.nomePadrinho of: br.com.natal.model.valueobjects.CriancaVO; nested exception is org.hibernate.QueryException: could not resolve property: padrinho.nomePadrinho of: br.com.natal.model.valueobjects.CriancaVO
/*
* Classe criada em May 30, 2008
*
* */
package br.com.natal.model.valueobjects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
//import com.ibm.security.pkcs7.Data;
import br.com.basejee.core.model.valueobjects.BaseVO;
import javax.persistence.CascadeType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
/**
* @author Rogerio
*
*/
@Entity
@Table(name="TB_CRIN")
//@NamedQuery(name="ProcuraNomePadrinhoKit", query="SELECT c FROM Crianca c")
public class CriancaVO extends BaseVO {
@Id
@Column(name = "NR_SEQU_CRIN", nullable = false)
private int id;
@Column(name = "NM_CRIN", nullable = false)
private String nomeCrianca;
@Column(name = "NR_SEQU_ENTI_ASSI", nullable = false)
private int idEntidade;
@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE}, targetEntity=PadrinhoVO.class)
@JoinTable(name="Padrinho",
joinColumns = @JoinColumn(name="cpfPadri"),
inverseJoinColumns = @JoinColumn(name="cpfPadrinho"))
private PadrinhoVO padrinho;
@Column(name = "NR_CPF_PDRI",
insertable=false,
updatable=false)
private int cpfPadri;
.........................
}
/*
* Classe criada em May 30, 2008
*
*/
package br.com.natal.model.valueobjects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import br.com.basejee.core.model.valueobjects.BaseVO;
/**
* @author Rogerio
*
*/
@Entity
@Table(name="TB_PDRI")
//@SequenceGenerator(name="padrinho_seq", sequenceName="SEQ_PADRINHO")
public class PadrinhoVO extends BaseVO {
private int cpfPadrinho;
private String nomeAreaTrabalho;
private String numeroTelefoneComercial;
private String numeroTelefoneCelular;
private String nomePadrinho;
private String nomeGestor;
private String emailPadrinho;
private String centroAdiministrativo;
private int bloco;
private String andar;
private String areaAtualTabalho;
private String estacaoTrabalho;
private int codigoPotoVenda ;
private int codigoRede ;
private int codigoRegional ;
private String informacaoComplemantar ;
private String loginUsuario;
@Id
@Column(name = "NR_CPF_PDRI", nullable = true)
public int getCpfPadrinho() {
return cpfPadrinho;
}
public void setCpfPadrinho(int cpfPadrinho) {
this.cpfPadrinho = cpfPadrinho;
}
@Column(name = "NM_AREA_TRAB", nullable = true)
public String getNomeAreaTrabalho() {
return nomeAreaTrabalho;
}
public void setNomeAreaTrabalho(String nomeAreaTrabalho) {
this.nomeAreaTrabalho = nomeAreaTrabalho;
}
................
}
public Collection getNomePadrinhoKit(String kit, String nomePadrinho) {
Collection ret = null;
try {
List crianca = getSession().createCriteria(CriancaVO.class)
.add( Restrictions.like("kitEntregue", "Fritz%") )
.add( Restrictions.eq("padrinho.nomePadrinho", "Fritz%") )
.list();
ret = crianca;
} catch (HibernateException ex) {
throw SessionFactoryUtils.convertHibernateAccessException(ex);
}
return ret;
}