romarcio 4 de jun. de 2011
Pode fazer assim:
Query q = sess.createQuery("from DomesticCat cat");
q.setFirstResult(3);
q.setMaxResults(3);
List cats = q.list();
danilocmiranda 4 de jun. de 2011
Esta query só me retorna os três primeiros registros encontrados e não os três primeiros em cada categoria…
Mais alguma sugestão?
romarcio 4 de jun. de 2011
Te mostrei como trazer os 3 primeiros registros de uma consulta.
Agora faz teu select para trazer os 3 registros de cada categoria.
danilocmiranda 4 de jun. de 2011
ok,
Tem que ser um select para cada categoria correto?
romarcio 4 de jun. de 2011
danilocmiranda:
ok,
Tem que ser um select para cada categoria correto?
Pode ser.
Ou pode tentar usar um select desse tipo:
PostgreSQL
LIMIT ALL ? mesmo que imitir LIMIT.
OFFSET inicio ? orienta para que a consulta retorne somente a partir de inicio.
OFFSET 0 ? mesmo que omitir OFFSET.
LIMIT 50 OFFSET 11 ? Deverá trazer 50 registros do 11 até o 60, caso existam.
Obs.: Quando se utiliza LIMIT é importante utilizar a cláusula ORDER BY para estabelecer uma ordem única para as linhas do resultado. Caso contrário, será retornado um subconjunto imprevisível de linhas da consulta; pode-se desejar obter da décima a vigésima linha, mas da décima a vigésima de qual ordem? A ordem é desconhecida a não ser que seja especificado ORDER BY. Isto é uma conseqüência inerente ao fato do SQL não prometer retornar os resultados de uma consulta em qualquer ordem específica, a não ser que ORDER BY seja utilizado para impor esta ordem.
Exemplos:
SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET 1;
Irá retornar os registros do 1 até o 20.
SELECT * FROM news_m LIMIT $inicio, $n_resultados
O comando "SELECT * FROM news_m LIMIT $n_resultados OFFSET $inicio"
irá pesquisar as noticias da tabela “news_m” começando do resultado “$inicio” e irá listar “$n_resultados”.
Exemplo: “SELECT * FROM news_m LIMIT 3 OFFSET 2” irá exibir 3 notícias a partir da 2a. notícia da tabela, ou seja, irá exibir as notícias 2, 3 e 4 da nossa tabela “news_m”.
danilocmiranda 6 de jun. de 2011
@romarcio
Valeu pelas dicas! Consegui fazer um for que percorre todas as categorias e para cada uma delas tenho uma query.
O que você postou parece interessante, coloquei no favoritos e assim que eu conseguir resolver uma pendência aqui vou testas as suas sugestões!
Grande abraço