が、私はこのコードHibernate5:レコードカウントクエリにルート<Long>を取得する方法は?
final Session session = sessionFactory.getCurrentSession();
final CriteriaBuilder builder = sessionFactory.getCriteriaBuilder();
final CriteriaQuery<ListingDetailBaseDto> criteria = builder.createQuery(ListingDetailBaseDto.class);
final Root<ListingDetailBaseDto> root = criteria.from(ListingDetailBaseDto.class);
...
public int countRecords() {
final CriteriaQuery<Long> countingQuery = builder.createQuery(Long.class);
countingQuery.select(countingQuery.from(Long.class));
countingQuery.select(builder.count(root));
final Query<Long> query = session.createQuery(countingQuery);
return query.getSingleResult().intValue();
}
を持っているそれは長いが有効なエンティティではありませんと言います。だから私はライン3、
public int countRecords() {
final CriteriaQuery<Long> countingQuery = builder.createQuery(Long.class);
countingQuery.select(builder.count(root));
final Query<Long> query = session.createQuery(countingQuery);
return query.getSingleResult().intValue();
}
削除してから、エラーは次のようになります。No criteria query roots were specified
私はこの単純なレコード数を取得できますか?
「ルート」をどのように定義しますか? –
質問に追加 –