Pegar data do Banco de Dados por filtro

Boa tarde galera, tudo certo?? Bem, na minha aplicação estou fazendo um filtro dos aniversariantes de cada mês. Porém, quero desconsiderar o ANO no filtro e não estou conseguindo…Abaixo o xhtml:

 <td align="right">Aniversário:</td>
                                <h:panelGrid columns="2" width="300">
                                    <p:selectOneMenu id="dtaNascimento" converter="sec" value="#{matriculaJsfBean.mes}" filter="true" caseSensitive="false" filterMatchMode="contains">
                                        <f:selectItem itemLabel="Selecione" itemValue=""/>
                                        <f:selectItem itemLabel="Janeiro" itemValue="Janeiro"/>
                                        <f:selectItem itemLabel="Fevereiro" itemValue="Fevereiro"/>
                                        <f:selectItem itemLabel="Março" itemValue="Marco"/>
                                        <f:selectItem itemLabel="Abril" itemValue="Abril"/>
                                        <f:selectItem itemLabel="Maio" itemValue="Maio"/>
                                        <f:selectItem itemLabel="Junho" itemValue="Junho"/>
                                        <f:selectItem itemLabel="Julho" itemValue="Julho"/>
                                        <f:selectItem itemLabel="Agosto" itemValue="Agosto"/>
                                        <f:selectItem itemLabel="Setembro" itemValue="Setembro"/>
                                        <f:selectItem itemLabel="Outubro" itemValue="Outubro"/>
                                        <f:selectItem itemLabel="Novembro" itemValue="Novembro"/>
                                        <f:selectItem itemLabel="Dezembro" itemValue="Dezembro"/>
                                    </p:selectOneMenu>
                                </h:panelGrid>

No meu Bean:

    private String mes = "";
    private Date dataInicial;
    private Date dataFinal;

private Map<String, Object> montaParametros() {
        Map<String, Object> p = new HashMap<String, Object>();

 if (mes.equals("Novembro")) {          // Utilizei esse mes pois tenho alguns registros no banco dele...
            dataInicial = DateUtil.newDate("01/11/1973 00:00:00"); 
            dataFinal = DateUtil.newDate("30/11/1973 00:00:00");
        }
 return p;
    }

Se alguém puder ajudar e dar uma idéia de como posso fazer para desconsiderar o ano nesse filtro… Agradeceria mto… Vlw…

Olá Ricardo,
A dúvida que já tive nestes casos seria o tipo de filtro a se utilizar, tendo em vista a forma utilizada para fazer a consulta ao banco.
Para facilitar você pode utilizar somente o mês como filtro(sem dataInicial e dataFinal) por exemplo…

Utiliza Hibernate ou JDBC?

[quote=rjbn_]Olá Ricardo,
A dúvida que já tive nestes casos seria o tipo de filtro a se utilizar, tendo em vista a forma utilizada para fazer a consulta ao banco.
Para facilitar você pode utilizar somente o mês como filtro(sem dataInicial e dataFinal) por exemplo…

Utiliza Hibernate ou JDBC?[/quote]

Olá rjbn_…
Bem, desse jeito está funcionando , porém não estou conseguindo passar SOMENTE O DIA E O MES… No meu DateUtil tenho o seguinte:

  public static Date newDate(String data) {
        try {
            return new SimpleDateFormat("dd/MM/yyyy").parse(data);
        } catch (ParseException ex) {
            throw new RuntimeException("Erro ao criar a data.", ex);
        }
    }

    public static String dataHoraFormatada(Date d) {
        return new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(d);
    }

    public static String dataFormatada(Date d) {
        return new SimpleDateFormat("dd/MM/yyyy").format(d);
    }

Tentei passar sem o yyyy mas não estou conseguindoo… Uso as duas coisas que vc pediu…Alguma ideia de como posso “desconsiderar” o ANO ?? Vlw por estar ajudando…Abc…

Mais alguém poderia ajudar aí??? Se mais alguém puder dar uma mão… agradeço mto… Vlw

Então, perguntei a forma que você está acessando o banco porque estava pensando algo parecido com:
SELECT p FROM people p WHERE DATEPART(MM, p.birthDay) = yourMounthFilter

Retornando todas as pessoas que tem o mês em questão cadastrado como data de nascimento.

[quote=rjbn_]Então, perguntei a forma que você está acessando o banco porque estava pensando algo parecido com:
SELECT p FROM people p WHERE DATEPART(MM, p.birthDay) = yourMounthFilter

Retornando todas as pessoas que tem o mês em questão cadastrado como data de nascimento.[/quote]
Bom dia. Bem, estou fazendo uma lista de alunos e aprtir dela pego a dta de nascimento…Abaixo como estou tentando fazer agg:

  public void teste() {

ArrayList<Matricula> matriculaAlunos = new ArrayList();
        matriculaAlunos = (ArrayList<Matricula>) crudService.findAll(Matricula.class);
        int mesAtual = 10;

        for (Iterator<Matricula> it = matriculaAlunos.iterator(); it.hasNext();) {
            Matricula matricula = it.next();
            
        
            Calendar calAniver = new GregorianCalendar();
            calAniver.setTime(matricula.getAluno().getDataNascimento());
            if (calAniver.get(Calendar.MONTH) == mesAtual) {
                System.err.println(calAniver.getTime());
            }
        }
    }

E chamo o método no meu setup…Porém, por enquanto não estou tendo mtoo sucesso pra exibir…Se puder ajudar agradeço…
Obs( a lista de matricula é em Lazy e não estou conseguindo passar no Iterator…)
VocÊ e/ou alguém mais poderiam dar uma ajuda aí???
Se puder ajudar…agradeceria mto…Vlw…

Estou tentando passar a lsita em LazyDataModel dessa maneira:

 matriculaList = (LazyDataModel<Matricula>) crudService.findAll(Matricula.class);
        int mesAtual = 10;

        for (Iterator<Matricula> it = matriculaList.iterator(); it.hasNext();) {
            Matricula matricula = it.next();

Porém, está dando o seguinte erro:

java.lang.ClassCastException: java.util.Vector cannot be cast to org.primefaces.model.LazyDataModel

Alguém poderia dar uma ajuda aí??? Vlw…