java - HQL - 两个相同查询之间的差异

标签 java hibernate hql

为什么这个查询工作正常:

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/

相关文章:

java - Azure VMSS 中 guest 操作系统指标和主机操作系统指标之间的差异

java - JPA 的 EntityManager 应该是 RequestScoped 吗?

hibernate - 计算 Hibernate SQLProjection 中聚合列的排名

java - 使用 NamedQuery 更新 hibernate 中的查询

java - 如何通过@IndexColumn 中的数字选择集合中的第 n 个元素?

java - android读取输入流的正确方法

java - 为什么我的图像没有从 JSON 文件加载?

java - 在 SpringBoot 中使用 @DataJpaTest 时 hibernate 消息

java - 如果 sleep 中断线程被唤醒,是否应该中断自身?

java - 如何使用 AliasToEntityMapResultTransformer 获取订单映射?