[RESOLVIDO] Hibernate Criteria realizando um select DATE

6 respostas
L

Minha duvida eh em retornar as notas de determinado mes,
mas no banco a data esta da forma americana yyyy/mm/dd
meu método é o seguinte:

public List buscarNota(int mes , int ano){
		session = HibernateUtil.getSessionFactory().openSession();
		try{
			
			Criteria cri = session.createCriteria(NF.class);
  			
              //restriçoes para selecionar o mes e o ano passado por parametro
  			
  		    return  cri.list();
			
		}finally{
			session.clear();
			session.close();
		}

	}

Alguma ideia para esse caso? Obrigado

6 Respostas

F

Usa HQL, algo assim

public List buscarNota(int mes , int ano){
		session = HibernateUtil.getSessionFactory().openSession();
		try{
			
			Query q = session.createQuery("from NF where month(data) = :mes and year(data) = :ano");
  			q.setParameter("mes", mes);
            q.setParameter("ano", ano);
  			
  		    return  q.list();
			
		}finally{
			session.clear();
			session.close();
		}

	}
L

Vlws amigo deu certo aqui, Brigadao

Mas se alguem me ajudar com criteria seria melhor, logo que só utilizo criteria no meu projeto

F

Cara, posta o código que você fez que fica mais facil. O “data” é o nome do atributo da sua classe NF que corresponde ao campo dataentrada no seu banco.

L

Era um erro idiota meu hahahah
mas agora ta funcionando

teria como vc me ajudar nesta hql, preciso realizar um distinct e um order by,

vc me aconselha a fazer isso na busca ou criar um TreeSet, utilizar Set ao invés de List?

Brigadao

F

LucianoTulio:
Era um erro idiota meu hahahah
mas agora ta funcionando

teria como vc me ajudar nesta hql, preciso realizar um distinct e um order by,

vc me aconselha a fazer isso na busca ou criar um TreeSet, utilizar Set ao invés de List?

Brigadao

Qual o motivo de usar distinct? só adicionar o "order by " + nome do atributo ao HQL

L

pq preciso apenas saber o codcliente q tem nota, s ele tem 1 ou + nao importa, so s ele tem ou não

e desse codigo vou fazer a busca em outra tabela do meu projeto

Criado 26 de julho de 2012
Ultima resposta 26 de jul. de 2012
Respostas 6
Participantes 2