我最初是通过以下查询获得的List<Employee>:Query query = session.createQuery("select table1 from Table as table1");this.employees = (List<Employee>) query.list();这已成功呈现在以下数据表中:<p:dataTable var="employee" value="#{bean.employees}"> <p:column id="name" headerText="Name"> <h:outputText value="#{employee.name}" /> </p:column> <p:column id="id" headerText="ID" > <h:outputText value="#{employee.id}" /> </p:column></p:dataTable>但是,当我尝试从2个表中检索它时,如下所示:Query query = session.createQuery("select a.name, b.id from Table1 as a, Table2 as b"); this.employees = (List<Employee>) query.list();它引发以下异常:java.lang.NumberFormatException: For input string: "name" at java.lang.NumberFormatException.forInputString(Unknown source) at java.lang.Integer.parseInt(Unknown source) at java.lang.Integer.parseInt(Unknown source) at javax.el.ArrayELResolver.toInteger(ArrayELResolver.java:166) at javax.el.ArrayELResolver.getValue(ArrayELResolver.java:46) ...这是怎么引起的,我该如何解决?
2 回答

慕森卡
TA贡献1806条经验 获得超8个赞
要返回“ real List<Object>”而不是List<Object[]>@BalusC所说的a ,必须指定结果实例的类。
getEntityManager().createNativeQuery(
"SELECT * FROM ...",
EntityUser.class
).getResultList();
这是:EntityUser.class。
添加回答
举报
0/150
提交
取消