为什么这个查询工作正常:
Query query = session.createQuery("from Table tab");
这个查询:
Query query = session
.createQuery("select tab.col1, tab.col2, tab.col3 from Table tab");
这就是我对两个查询所做的事情:
dataList = query.list();
for (Table item : dataList)
{
System.out.println(item.getCol1();
}
报告:
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to table.Table
at test.TestCriteria.main(TestCriteria.java:35)
你能帮忙吗?
表通常映射到实体 bean 中,并且所有列都是正确的。
最佳答案
我相信第二个 query
,结果是 List<Object[]>
:
Object[] row = (Object[]) dataList.get(i);
Object col1Value = row[0];
Object col2Value = row[1];
Object col3Value = row[2];
我观察Ljava.lang.Object;
有这个猜测在异常跟踪中。
关于java - HQL - 两个相同查询之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10009854/