최신 버전의 Hibernate는 이제 타입 안전 Query<T>
객체를 지원 하므로 @SuppressWarnings
컴파일러 경고를 없애기 위해 더 이상 해킹을 사용 하거나 구현할 필요가 없습니다 . 에서 세션 API , Session.createQuery
지금 형 안전의 반환 Query<T>
개체를. 다음과 같이 사용할 수 있습니다.
Query<Cat> query = session.createQuery("FROM Cat", Cat.class);
List<Cat> cats = query.list();
쿼리 결과가 Cat을 반환하지 않을 때도 사용할 수 있습니다.
public Integer count() {
Query<Integer> query = sessionFactory.getCurrentSession().createQuery("SELECT COUNT(id) FROM Cat", Integer.class);
return query.getSingleResult();
}
또는 부분 선택을 할 때 :
public List<Object[]> String getName() {
Query<Object[]> query = sessionFactory.getCurrentSession().createQuery("SELECT id, name FROM Cat", Object[].class);
return query.list();
}