Hibernate x Criteria

0 respostas
GustavoTavone
@Entity(name = "Reg")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Funcionario {
	@Id
	@Column(name = "codigo")
	private int idFuncionario;
	private String nome;
	private String jornada;
	private String rg;
	private String emprego;
	@Temporal(TemporalType.DATE)
	@Column(name = "dtdemissao")
	private Calendar dtDemissao = new GregorianCalendar();

	@ManyToOne
	@JoinColumn(name = "codsecret", nullable = false)
	private Organograma organograma;

	@OneToMany(mappedBy = "funcionario")
	private List<Abono> abono = new ArrayList<Abono>();

	@OneToMany(mappedBy = "funcionario")
	private List<Folga> folga = new ArrayList<Folga>();

	@OneToMany(mappedBy = "funcionario")
	private List<BancoHoras> bancoHoras = new ArrayList<BancoHoras>();

	@OneToMany(mappedBy = "funcionario")
	private List<BaixaHoras> baixaHoras = new ArrayList<BaixaHoras>();

	@OneToMany(mappedBy = "funcionario")
	private List<Ponto> ponto = new ArrayList<Ponto>();

	@OneToMany(mappedBy = "funcionario")
	private List<Ferias> ferias = new ArrayList<Ferias>();

	@OneToMany(mappedBy = "funcionario")
	private List<Gpm> gpm = new ArrayList<Gpm>();

	@OneToMany(mappedBy = "funcionario")
	private List<Horario> horario = new ArrayList<Horario>();

	@OneToMany(mappedBy = "funcionario")
	private List<ExtratoHoras> extratoHoras = new ArrayList<ExtratoHoras>();
        /*getters e setters */
@Entity
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Organograma {
	@Id
	@Column(name = "codigo")
	private int id;
	@Column(name = "nome")
	private String descricao;

	@OneToMany(mappedBy = "organograma")
	private List<Funcionario> funcionario = new ArrayList<Funcionario>();
        /* getters e setters*/
}
@Entity(name = "cdPonto")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Ponto {
	@Id
	private int id;
	@Temporal(TemporalType.DATE)
	private Calendar data = new GregorianCalendar();
	private Time horario;
	private int tipo;

	@ManyToOne
	@JoinColumn(name = "idFunci", nullable = false)
	private Funcionario funcionario;
}

Então estando mapeadas minhas classes quando vou executar minha criteria:

public List<Funcionario> listaFuncionarioOrganograma(int organograma, Calendar dataInicial, Calendar dataFinal){
		Criteria criteria = session.createCriteria(Funcionario.class);
	        criteria.add(Restrictions.eq("organograma.id", organograma));
	        criteria.add(Restrictions.ge("ponto.data", dataInicial));
		criteria.setCacheable(true);
		return criteria.list();
	}

Porem nessa situação é retornado o seguinte erro:

org.hibernate.QueryException: could not resolve property: ponto.data of: br.com.jsfwebpref.modelo.Funcionario

A pergunta é o q esta errado nessa criteria? Ja tentei fazer sub criterias … alias …
mais nada funcionou

Criado 1 de dezembro de 2008
Respostas 0
Participantes 1