Listar

14 respostas
Jarf

Olá pessoal,
poderiam me ajuda com o “select” no Hibernate?

Eu não estou conseguindo mostrar o registros. Eu usei o seguinte codigo:

List l = session.createQuery("from dominio.Cubo").list(); System.out.println(l);
Mas tem algo de errado ai pq o resultado que sai eh esse:

lol… heheh

poderiam me ajudar com essas consultas?

Obrigado!!!
[]'s

14 Respostas

mario.fts

vc está dando System.out na list, o que irá chamar o método toString() do objeto, que por padrão, imprime “nome do objeto + endereço de mémória”.

tente imprimir algum atributo, sei lá, tipo

System.out.println(l.getNome());

inté

Jarf

foi o que eu pensei.

Desse jeito ai não da certo tbm ;/

mario.fts

desculpa eu errei… :smiley:

vc precisa fazer um for pra imprimir o conteudo da lista…

List l = session.createQuery("from dominio.Cubo").list(); 
for (Cubo objetoDaLista : l) {
	System.out.println(objetoDaLista.getNome());
		}

inté

mario.fts

na verdade o seu primeiro post ele imprime o System.out da List, que chamr o System.out de todos os objetos dentro da lista

Jarf

Não da tbm..
Da erro no getNome. ;/

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The method getNome() is undefined for the type Object

	at dominio.AdicionarCubo.main(AdicionarCubo.java:52)
mario.fts

eu editei lá em cima… onde ta object, coloque o tipo do objeto que ta na lista, (acho que Cubo, no seu caso)

Jarf

isso ai…
eu fiz dai saiu o erro no getNome, mas agora esta no " l " da seguinte linha:

;/

vlw!!!

[]'s

mario.fts

desculpa, num entendi… (minha cafeina ta baixa ainda… o cérebro só está a 60%)

ta dando erro? qual erro?

Jarf

está dando erro no L:
for (Cubo objetoDaLista : l ) {

Erro
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	Type mismatch: cannot convert from element type Object to Cubo

	at dominio.AdicionarCubo.main(AdicionarCubo.java:51)
mario.fts

É um erro de cast. o list do hibernate só vem com Objects.

faz com interator então. e faz o cast do objeto:

for (Iterator iterator = l.iterator(); iterator.hasNext();) {
Cubo objCubo = (Cubo) iterator.next();
System.out.println(objCubo.getNome());
}
Jarf

Deu certo brother, obrigado!!!

Sem kerer te explorar, como ficaria uma busca tipo com WHERE, pra listar so os registros que tenha um valor X em um certo campo?
Ex. em Sql: SELECT * FROM cubo WHERE servidor = servidor1;

obrigado pela ajuda mano!!

mario.fts
Query q = session.createQuery("select c from Cubo c where c.servidor = :servidor");
q.setParameter(1, "servidor1");
List l = q.list();

da uma pesquisada em HQL, e em Criteria.

até!

O

Para o enhanced for funcionar é só parametrizar a variável que recebe o retorno do método list():

Jarf

Não entendi…
=X

;/

[]'s

Criado 14 de outubro de 2008
Ultima resposta 14 de out. de 2008
Respostas 14
Participantes 3