Jsf 选项卡视图中的dataTable使用了错误的数据类型

Jsf 选项卡视图中的dataTable使用了错误的数据类型,jsf,primefaces,datatable,tabview,Jsf,Primefaces,Datatable,Tabview,我试图在选项卡视图中显示数据表 目前,我的xhtml中的代码如下所示: <p:tabView id="tabView" value="#{volumeController.shownSeries}" var="serie" cache="false"> <p:tab title="#{serie.name}"> <p:dataTable value="#{volumeController.findVolumesForS

我试图在选项卡视图中显示数据表

目前,我的xhtml中的代码如下所示:

    <p:tabView id="tabView" value="#{volumeController.shownSeries}" var="serie" cache="false">
        <p:tab title="#{serie.name}">
            <p:dataTable value="#{volumeController.findVolumesForSeries(serie.id)}" var="volume">
                    <p:column>
                        <h:outputText value="#{volume.volumeNumber}"/>
                    </p:column>
                </p:dataTable>
            </p:tab>
        </p:tabView>
问题是,这是我在volumeController中的方法:

public List<Volume> findVolumesForSeries(long id) {
    List<Volume> v = volumeFacade.getVolumesForSeries(id);
    return v;
}
因此,我在控制器中返回一个卷列表,但Glassfish将其解释为一个系列列表。 我试图用.toString显示值,但它只显示我的系列的.toString的结果

我的卷实体有一个字段VolumeNumber,每个选项卡都会调用控制器中的方法

我哪里做错了,或者这是我脸上的一只虫子?我使用的是4.0

问候
麒麟

所以,我终于发现了我的错误

在我的JPA查询中,我将整个列表作为一个列表返回。不知何故,它在我的方法(见上文“findVolumesForSeries”)中的所有赋值中都漏掉了,只是在用户界面中抛出了错误

这是我见过的最奇怪的错误,但对于其他发现这个问题的人来说: 检查您的方法是否都返回正确的数据类型——不知何故,Java在这里搞砸了

public List<Volume> findVolumesForSeries(long id) {
    List<Volume> v = volumeFacade.getVolumesForSeries(id);
    return v;
}