Como obtener numero de resultados en query JPA

323 views
Skip to first unread message

jgmaux

unread,
Oct 2, 2008, 8:59:43 AM10/2/08
to java1, java2
Hola,

Tengo un problema con JPA.

Por Ejemplo tengo la siguiente query "SELECT * FROM USERS x".

Podría hacer lo siguiente:

query.getResultList().size().

Pero no es optimo pues me trae toda la lista de resultados.

O la siguiente query: "SELECT COUNT(*) FROM USERS x"

con:

long num_results = (Long) query.getSingleResult();

Mi pregunta es:

¿No hay forma de sin cambiar la query original por la segunda saber el número de resultados sin traerlos todos?

¿ No existe ningún método para ello? Me gustaría que existiera una forma como esta : query.getResultSize()


Saludos,



Federico Martinez (GMAIL)

unread,
Oct 3, 2008, 2:15:46 PM10/3/08
to jav...@googlegroups.com
No existe un metodo pero puedes hacer esto cuando ya tengas el resulset:

rs.last(); //Te vas al ultimo registro
int registros = rs.getRow(); //obtienes la cantidad de registros yendote al
ultimo de la lista
rs.beforeFirst(); //Le regresas el estado que tenia inicialmente (antes del
el primero) para que
//no omitas el primer registro con el next().


Espero haya resuelto en algo tus dudas.



Saludos.

Fedex

unread,
Oct 3, 2008, 2:17:58 PM10/3/08
to JavaSOS
Reply all
Reply to author
Forward
0 new messages