すべてのリストを取得せずに、namedqueryでカウントを取得する方法(パフォーマンスが向上すると思います)。これは機能しない名前付きクエリです。
@NamedQuery(name = "Charakteristika.findAllCount", query = "SELECT COUNT(c) FROM Charakteristika c")
これを実行する:
System.out.println("a");
System.out.println(em.createNamedQuery("Charakteristika.findAllCount", Integer.class).getSingleResult().intValue());
System.out.println("b");
出力:
a
このクエリは機能しますが:
@NamedQuery(name = "Charakteristika.findAll", query = "SELECT c FROM Charakteristika c")
これを実行する:
System.out.println("a");
System.out.println(em.createNamedQuery("Charakteristika.findAll", Charakteristika.class).getResultList().size());
System.out.println("b");
出力:
a
11111
b