Tenho Classe Pedido
@Entity
@Table(name = "pedido")
public class Pedido extends Model implements Serializable {
@Basic(optional = false)
@Column(name = "dataPedido")
@Temporal(TemporalType.DATE)
private Date dataPedido;
@Basic(optional = false)
@Column(name = "horaPedido")
@Temporal(TemporalType.TIME)
private Date horaPedido;
@JoinColumn(name = "cliente", referencedColumnName = "codigo")
@ManyToOne(optional = false)
private Clientes cliente;
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "codigo")
private Integer codigo;
@Basic(optional = false)
@Column(name = "tipoDescontoJuro")
@Type(type = "br.com.oficinas.entidade.enuns.typeEnum.TipoDescontoJuroEnum")
private TipoDescontoJuro tipoDescontoJuro;
@Basic(optional = false)
@Column(name = "subTotal")
private BigDecimal subTotal;
@Basic(optional = false)
@Column(name = "valorDescontoJuro")
private BigDecimal valorDescontoJuro;
@Basic(optional = false)
@Column(name = "total")
private BigDecimal total;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "pedido")
private List<Itenspedido> itenspedidoList = new LinkedList<Itenspedido>();
@JoinColumn(name = "tipoPagamento", referencedColumnName = "codigo")
@ManyToOne(optional = false)
private Tipopagamentos tipoPagamento;
@JoinColumn(name = "statusPedido", referencedColumnName = "codigo")
@ManyToOne(optional = false)
private Statuspedido statusPedido;
@Transient
private List<Pedido> listaEntidade;
...
Classe Cliente
@Entity
@Table(name = "clientes")
public class Clientes extends Model implements Serializable {
@Basic(optional = false)
@Column(name = "uf")
@Type(type = "br.com.oficinas.entidade.enuns.typeEnum.UFEnum")
private UF uf;
@Basic(optional = false)
@Column(name = "situacao")
@Type(type = "br.com.oficinas.entidade.enuns.typeEnum.SituacaoCadastroEnum")
private SituacaoCadastro situacao;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "cliente")
private Collection<Pedido> pedidoCollection;
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "codigo")
private Integer codigo;
@Basic(optional = false)
@Column(name = "nome")
@Validador(Descricao = "Nome")
private String nome;
@Basic(optional = false)
@Validador(Descricao = "Aniversário", data = true)
@Column(name = "aniversario")
@Temporal(TemporalType.DATE)
private Date aniversario;
@Basic(optional = false)
@Column(name = "telefone")
@Validador(Descricao = "Telefone")
private String telefone;
@Basic(optional = false)
@Column(name = "celular")
private String celular;
@Basic(optional = false)
@Column(name = "email")
private String email;
@Basic(optional = false)
@Column(name = "endereco")
@Validador(Descricao = "Endereco")
private String endereco;
@Basic(optional = false)
@Column(name = "complemento")
private String complemento;
@Basic(optional = false)
@Column(name = "numero")
@Validador(Descricao = "Número")
private String numero;
@Basic(optional = false)
@Column(name = "bairro")
@Validador(Descricao = "Bairro")
private String bairro;
@Basic(optional = false)
@Column(name = "cidade")
@Validador(Descricao = "Cidade")
private String cidade;
@Basic(optional = false)
@Column(name = "cep")
private String cep;
@Basic(optional = false)
@Lob
@Column(name = "observacao")
private String observacao;
@Transient
private List<Clientes> listaEntidade;
public List<Clientes> getListaEntidade() {
return listaEntidade;
}
public void setListaEntidade(List listaEntidade) {
this.listaEntidade = listaEntidade;
}
Gostaria de fazer um pesquisa de todos os pedidos de um determinado cliente
uso esse metodo
@Override
public List consulta(AbstractFiltro filtroPesquisa) {
FiltroPedido filtro = (FiltroPedido) filtroPesquisa;
Criteria criteria = Controller.getCriteria(classe);
criteria.add(criterioPesquisa("cliente.nome", filtro.getDescricao()));
criteria.addOrder(Order.asc(filtro.getOrdem()));
return preencherRelatorio(Controller.getListarComCondicaoOrdenada(criteria));
}
@Override
public Criterion criterioPesquisa(String propertyName, Object value) {
return Restrictions.like(propertyName, value + "%");
}
porém aparece esse erro
Exception in thread "AWT-EventQueue-0" org.hibernate.QueryException: could not resolve property: cliente.nome of: br.com.oficinas.entidade.Pedido
como eu posso fazer uma pesquisa de todos os pedidos por nome do cliente