ตอนนี้ 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();
}