cómo obtener la cuenta con una consulta especificada, sin obtener toda la lista (aumentaría el rendimiento, creo). Esta es la consulta con nombre que no funciona:Contador de JPA NamedQuery
@NamedQuery(name = "Charakteristika.findAllCount", query = "SELECT COUNT(c) FROM Charakteristika c")
La ejecución de esta:
System.out.println("a");
System.out.println(em.createNamedQuery("Charakteristika.findAllCount", Integer.class).getSingleResult().intValue());
System.out.println("b");
Salida:
a
Aunque esta consulta funciona:
@NamedQuery(name = "Charakteristika.findAll", query = "SELECT c FROM Charakteristika c")
Ejecución esto:
System.out.println("a");
System.out.println(em.createNamedQuery("Charakteristika.findAll", Charakteristika.class).getResultList().size());
System.out.println("b");
Salida:
a
11111
b
@JBNizet Las consultas son las mismas, la ejecución es diferente. –
Lo siento mucho, el problema sigue siendo el mismo, solo una segunda consulta mal escrita. – Minutis
@JBNizet La segunda ejecución especifica que el tipo de resultado es 'Charakteristika.class'; Supongo que se está tirando cosas, devolviendo un conteo para cada una de las filas 'N'. –