Pessoal, porque quando eu crio um query pra trazer todos os valores da base ele sempre me traz os mesmo valores? O hibernate é bugado com isso?
Quando eu faço isso:
Query q = sessao.createQuery("from Itens where cod=" + cod);
List<Itens> lista = q.list();
ele me traz o primeiro item todas as vezes. Se eu tenho 10 itens diferentes registrados em 1 código, ele vai me trazer 10 vezes o primeiro item registrado do código, e não os 10 itens distintos.
O hibernate é burro ou o burro sou eu? :lol:
Kra, esse cod ñ seria, por acaso, a chave primária da entidade Itens?
Já verifiquei, não é não.
posta a classe do seu bean que o hibernate usa, o arquivo de configuração xml (se vc estiver usando isso e não anotações) e as colunas da sua tabela, qual é pk, etc…
pelo comportamento da a impressão que vc deu um @id nesse cod por exemplo mas ele não é chave primária na base…
Esse é o código que traz a lista. Nessa tabela Pedidos tenho 3 dados:
-cod_pedido;
-cod_material;
-qtde;
cod_pedido é o que se repete, é o código vinculado ao registro, e cod_material é o que é unico.
public List<Pedidos> mostraOSItens(int os){
List<Pedidos> lista = null;
SessionFactory sf = new Configuration().configure().buildSessionFactory();
Session s = sf.openSession();
Query q = s.createQuery("from Pedidos where cod_pedido=" + os);
lista = q.list();
return lista;
}
verifique se o seu cod_pedido ta com a anotação @id na classe, ou se está configurado como chave primaria no xml de configuração da entidade, mesmo se repetindo na tabela (isso não pode e justificaria dar o problema que esta dando)
posta sua classe Pedidos e se você usar, o xml de configuração dessa entidade.