Pretty Code Blog

Just another weblog about development

22  07 2008

nativeQuery

Um dos propósitos que tive ao iniciar mais um blog (este aqui [:D] ) foi ter onde registrar algumas dicas e sacadas que descobri depois de penar por aí.

Bom, o primeiro caso é o uso de nativeQuery da JPA. Eu uso a biblioteca da Oracle, a Toplink.

Ah, eu sou um tanto ansiosa e imediatista, não vou perder tempo com tutoriais, até porque acho que serei a única pessoa a consultar isso aqui. Mas se você leitor tiver alguma dúvida, pergunte, quem sabe sou boazinha? ;)

Eu estava tendo um erro, ao tentar usar o resultado de uma nativeQuery como se fosse uma lista. Mas na verdade o que ela retorna é uma lista de arrays do objeto.

Para resolver o problema bastou adicionar a classe do objeto que eu queria que fosse listado como parâmetro.

Veja só, assim recupero uma lista de Arrays:

List<Pessoa> resultList = null;
try {
Query query = manager.createNativeQuery(queryName);
resultList = query.getResultList();
log.debug("Size of the resultlist... " + resultList.size());
(...)

Assim recupero uma lista de objetos (no caso Pessoa)

List<Pessoa> resultList = null;
try {
Query query = manager.createNativeQuery(queryName,Pessoa.class);
resultList = query.getResultList();
log.debug("Size of the resultlist... " + resultList.size());
(...)

« »

Switch to our mobile site

Switch to our mobile site