我有這樣的代碼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
我怎樣才能得到這個簡單的記錄數???
如何定義'root'? –
加入問題 –