Java - Problema con hibernate y sql server

 
Vista:

Problema con hibernate y sql server

Publicado por Andres (1 intervención) el 10/05/2010 13:21:54
Hola gente, quisiera saber si alguien sabe o pudo hacer alguna vez un tipo de consulta a travez de hibernate a un sql server. La consulta que necesito es del tipo obtener "x" registros como maximo, empezando por el numero "n". Es decir, una tipica consulta para paginacion... Yo lo pude hacer, pero solamente utilizando una consulta sql nativa, lo cual practicamente no me sirve porque hibernate no realiza el mapeo de los objetos....Lo ideal seria poder hacer esa consulta utilizando Criteria de esta manera:

Utilizando Hibernate a travez de Spring
getHibernateTemplate().findByCriteria(criteria, firstResult,maxResults);

Utilizando Hibernate solo:
Criteria crit = session.createCriteria(Foo.class);
crit.setFirstResult(firstResult);
crit.setMaxResults(maxResults);
List results = crit.list();

Pero haciendo esto, hibernate lo traduce como una consulta "top", entonces cuando quiero traer los 20 ultimos registros de una tabla con 1 millon de filas se hace muy pesado, ya que hace un "top 9999980 *" !!!

Por cierto estoy utilizando:
SQL Server 2005
Spring 2.5
Hibernate 3x

Alguna sugerencia...?

Desde ya, Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder