Jsf 在p:dataTable上显示JPA结果

Jsf 在p:dataTable上显示JPA结果,jsf,jpa,primefaces,datatable,Jsf,Jpa,Primefaces,Datatable,我有一个从DB获取图书列表的实体。所以我创建了一个类型为MyEntity的列表 < p:commandButton value="Tüm Kitaplar" actionListener="#{oduncKitapVerBean.tumListeyiDoldur}"/> < p:dataTable id="kitapliste" var="kl" rowKey="#{kl.kitapID}" value="#{

我有一个从DB获取图书列表的实体。所以我创建了一个类型为MyEntity的列表

< p:commandButton value="Tüm Kitaplar" actionListener="#{oduncKitapVerBean.tumListeyiDoldur}"/>

< p:dataTable id="kitapliste" var="kl" rowKey="#{kl.kitapID}"
                                 value="#{oduncKitapVerBean.entityList}" 
                                 paginator="true" rowsPerPageTemplate="5,10,15"
                                 paginatorPosition="bottom"
                                 selection="#{oduncKitapVerBean.selectedEntity}"
                                 selectionMode="single">
                        <f:facet name="header">
                            <h:outputText value="Kitap Listesi"/>
                        </f:facet>
                        <p:column headerText="Kitap Adı" filterBy="#{kl.kitapad}" sortBy="#{kl.kitapad}" filterMatchMode="contains">
                            <h:outputText value="#{kl.kitapad}"/>
                        </p:column>
 </p:dataTable>

我已经控制了调试模式。entityList正在从查询中填充。但为什么dataTable未满?

entityList
使用getter?也许您应该在cammand按钮中添加update=“kitapliste”。你的bean范围是什么?您是在尝试使用Ajax还是在按下按钮后再次渲染页面?这是viwscope,我没有尝试使用ajaxyes。我将entityList与getter一起使用。谢谢@BlueOcean。它工作得很好。
public void tumListeyiDoldur() {
    EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory("KutuphaneOtomasyonuPU");
    EntityManager em = emf.createEntityManager();
    try {
        entityList = em.createNamedQuery("tumkitaplarigetir").getResultList();
    } catch (Exception e) {
        e.printStackTrace();
    }
}