Boa tarde Galera.
Estou desenvolvendo uma busca com JQuery + Vraptor3 + Criteria e no método do DAO estou com um problema. É que não estou conseguindo pegar os retornos, pois consta o erro…
Caused by: org.hibernate.QueryException: could not resolve property: colaborador.nome of: voxage.com.br.entidades.PontuacaoFunc
Abaixo meu método e minhas classes para entendimento…
Meu método DAO…
public List<PontuacaoFunc> getBusca(String nome) {
Criteria criteria = session.createCriteria(PontuacaoFunc.class);
criteria.add(Restrictions.like("colaborador.nome", '%'+nome+'%')); // isso não deveria funcionar ?
List<PontuacaoFunc> pontuados = criteria.list();
return pontuados;
}
Minha classe PontuacaoFunc…
@Entity
@Table(name="pontuacao_func")
public class PontuacaoFunc implements Serializable{
private static final long serialVersionUID = 3214100040938150076L;
@Id
@GeneratedValue
@Column(name="id_pont_func")
private Integer idPontuacaoFunc;
@OneToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="id_tipo_pontuacao", referencedColumnName="id_tipo_pontuacao")
private TipoPontuacao tipoPontuacao;
@Column(name="motivo")
private String motivo;
@Column(name="valor")
private Integer valor;
@Column(name="data_pont")
private Date data;
@OneToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="id_func_pont", referencedColumnName="id_func")
private Funcionario colaborador;
@OneToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="id_gestor_pont", referencedColumnName="id_func")
private Funcionario gestor;
@Column(name="mes")
private Integer mes;
//getters e setters
E a minha classe Funcionario
@Entity
@Table(name="funcionario")
public class Funcionario implements Serializable{
private static final long serialVersionUID = -1776195358793377493L;
@Id
@GeneratedValue
@Column(name="id_func")
private Integer idFuncionario;
@Column(name="nome")
private String nome;
@Column(name="email")
private String email;
@Column(name="gestor")
private Boolean tipoFuncionario;
@OneToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="id_func_usuario", referencedColumnName="id_usuario")
private Usuario usuario;
@ManyToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="id_func_depto", referencedColumnName="id_depto")
private Departamento depto;
@Column(name="bit_excluir")
private Boolean excluir;
//getters e setters
Desde já agradeço a ajuda.
Abs