Select com dados Randomicos JPA

Ola pessoal,

Estou precisando fazer um select randomico no meu banco de dados, isso da seguinte forma. Eu tenho um cadastro de banners e esses banners vao ser randomicos, entao eu tenho que mostrar 10 banners randomicos.

o unico exemplo que achei na net foi esse. Mas acho q nao vai resolver meu problema.

.....
Query q = em.createNamedQuery("banners");  
// move to random page (each result page have size 1)
q.setFirstResult(new Random().nextInt(count));
q.setMaxResults(10);
return (FortuneCookie) q.getSingleResult();

alguem ja implementou de outra forma, tem uma luz pra mi dar? to sem saber de que forma fazer mesmo :confused:

Encontrei na net um site que tem uns exemplos de selects aleatorios/randomicos de acordo com o banco de dados, veja se ajuda:

http://www.petefreitag.com/item/466.cfm

Mas acho que vai ter que usar nativeQuery ao inves de namedQuery… nao tenho certeza se funciona com namedQuery :slight_smile:

Abraços

Ajuda sim…

mas to pensando em fazer um sort no List pra sortiar o resultado.

Valew

O List é uma alternativa porem, acredito q nao é a melhor solução, pois com o crescimento da sua tabela podera se tornar custoso a performance em resgatar todos os registros para depois entao fazer um random…

Mas se a tua tabela nao tera grande quantidade de registros entao essa pode ser uma solução aceitavel.

Boa sorte

pois é,

O problema de fazer um select nativo é que ele retorna um array, e nao um list de objetos. Dai fica dificil de trabalhar com array.

Mais vou pesquisar sobre.

Resolvi implementando nativeQuery mesmo.