在JSF数据表中显示Hibernate / JPA结果的原因:java.lang.Numbe

我最初是通过以下查询获得的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)

    ...

这是怎么引起的,我该如何解决?


翻翻过去那场雪
浏览 578回答 2
2回答

慕森卡

要返回“ real List<Object>”而不是List<Object[]>@BalusC所说的a ,必须指定结果实例的类。getEntityManager().createNativeQuery(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "SELECT * FROM ...",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;EntityUser.class).getResultList();这是:EntityUser.class。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript