我将在许多表格上使用Hibernate执行查询,因此我创建了一个类似的方法:
public List<Tab1> getListTab1() {
Session session = getCurrentSession();
String hql = "FROM Tab1 t1 join t1.tab2 t2 join t2.tab3 t3";
Query query = session.createQuery(hql);
return query.list();
}
使用调试器检查结果似乎是正确的。 所以,我试图迭代结果集,如:
1. List<Tab1> listTab1 = dao.getListTab1();
2. for (Tab1 tab1 : listTab1) {
3. Tab2 tab2 = tab1.getTab2();
4. Tab3 tab3 = tab1.getTab3();
5. }
但我在第2行得到ClassCastException
。
为什么呢?怎么了?
感谢。
答案 0 :(得分:1)
尝试此查询
String hql = "Select t1 FROM Tab1 t1 join fetch t1.tab2 t2 join fetch t2.tab3 t3";