Galera,
Estou precisando de uma ajuda, estou fazendo um um filtro para uma tabela e estou com o seguinte problema:
Eu tenho uma classe Exercicio
public class Exercicio implements Serializable {
private long numExercicio;
private String descricao;
private String titulo;
private String categoria;
private int tempoMaximo;
private Set<Resposta> respostas = new HashSet<Resposta>();
private EstadoInicial estadoInicial = new EstadoInicial();
public Exercicio() {
}
//sets e gets
Uma classe Funcionario:
public class Funcionario implements Serializable {
public static final String ADMINISTRADOR = "Administrador";
public static final String TUTOR = "Tutor";
public static final String OPERADOR = "Operador";
private String nome;
private long CPF;
private int numRegistro;
private String senha;
private String tipo;
private String cargo;
private Treinamento treinamento;
private int horasTreino;
public Funcionario() {
}
//sets e gets
Que são utilizadas na criação da classe associativa Treinamento:
public class Treinamento implements Serializable{
private static final long serialVersionUID = 1L;
public static final String NAO_EXECUTADO = "Não Executado";
public static final String SUCESSO = "Aprovado";
public static final String INSUCESSO = "Reprovado";
private long id;
private String status;
private Date data;
private Calendar hora;
private Funcionario tutor;
private Funcionario operador;
private Resultado resultado;
private Exercicio exercicio;
private int tempo;
public Treinamento() {
}
//sets e gets
E também tenho os respectivos mapeamentos para estas classes com o hibernate
Um exercício quando proposto é adicionado a tabela de treinamentos com o status “Não Executado”, e permanece assim até ser realizado, porém se um Exercicio ainda não foi adicionado a um Funcionario ele também não foi realizado porém não pertence a tabela Treinamento.
Preciso fazer uma consulta de Funcionários que obtiveram status de “aprovado”, “reprovado” ou “não realizado” ( o uma combinação de mais de uma destas condições ) de um determinado Exercicio.
Como consigo fazer isso com consulta por criteria ou HQL ?
Alguem tem alguma sugestão?
Desde já agradeço.
[]`s