Jsf 单元格编辑控件中的primefaces不更新数据库中的数据

Jsf 单元格编辑控件中的primefaces不更新数据库中的数据,jsf,primefaces,Jsf,Primefaces,我假设您已经在环境中配置了hibernate,并将数据库映射到实体类。您可以相应地更新记录 您可以访问行并更新记录,如: <h:form id="dtform"> <p:growl showDetail="true" id="mess"/> <p:dataTable id="dt1" scrollable="true" scrollWidth="700" var="mas" value="#{viewtable.dlist}" editable="

我假设您已经在环境中配置了hibernate,并将数据库映射到实体类。您可以相应地更新记录

您可以访问行并更新记录,如:

<h:form id="dtform">
    <p:growl showDetail="true" id="mess"/>
    <p:dataTable id="dt1" scrollable="true" scrollWidth="700" var="mas"  value="#{viewtable.dlist}" editable="true">
        <f:facet name="header">
            Edit Here
        </f:facet>
        <p:column headerText="Regno" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText  value="#{mas.regno}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.regno}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Rollno" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.rollno}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.rollno}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Firstname" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.fname}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.fname}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Lastname" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.lname}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.lname}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="D.O.B" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.dob}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.dob}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Address" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.address}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.address}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Avatar" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.avatar}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.avatar}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Email" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.email}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.email}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Phno" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.phno}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.phno}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Dept" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.dept}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.dept}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Year" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.year}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.year}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Start" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.inidate}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.inidate}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="End" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.enddate}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.enddate}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Remarks" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.remarks}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.remarks}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Delivery" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.delivery}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.delivery}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Message" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.messdelivery}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.messdelivery}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Options" width="100">
            <p:rowEditor/>
        </p:column>
        <p:ajax event="rowEdit" listener="#{viewtable.onEdit}" update=":dtform:mess"/>
    </p:dataTable>
</h:form>

你能更改方法的名称吗?在java中,“get”似乎是一种保留字。我试过了,但仍然有问题。。。。。。。请给我一个示例代码,说明如何将hibernate与primefaces DataTable集成您的方法有效吗?据我所知,您的代码与单元内编辑完全不同。首先,要进行数据库选择。你能发布你的prime facestags吗?兄弟,我发布了我的设计部分,但在过去的一周里我一直面临这个问题。请给出一些想法。你的编辑方法是托管bean中的onEdit()。但是,您尝试使用get()方法更新数据。是否要将hibernate用于此操作?看看这个
<h:form id="dtform">
    <p:growl showDetail="true" id="mess"/>
    <p:dataTable id="dt1" scrollable="true" scrollWidth="700" var="mas"  value="#{viewtable.dlist}" editable="true">
        <f:facet name="header">
            Edit Here
        </f:facet>
        <p:column headerText="Regno" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText  value="#{mas.regno}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.regno}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Rollno" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.rollno}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.rollno}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Firstname" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.fname}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.fname}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Lastname" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.lname}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.lname}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="D.O.B" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.dob}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.dob}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Address" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.address}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.address}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Avatar" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.avatar}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.avatar}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Email" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.email}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.email}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Phno" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.phno}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.phno}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Dept" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.dept}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.dept}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Year" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.year}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.year}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Start" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.inidate}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.inidate}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="End" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.enddate}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.enddate}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Remarks" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.remarks}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.remarks}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Delivery" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.delivery}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.delivery}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Message" width="100">
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{mas.messdelivery}"/>
                </f:facet>
                <f:facet name="input">
                    <p:inputText value="#{mas.messdelivery}"/>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="Options" width="100">
            <p:rowEditor/>
        </p:column>
        <p:ajax event="rowEdit" listener="#{viewtable.onEdit}" update=":dtform:mess"/>
    </p:dataTable>
</h:form>
    public void onEdit(RowEditEvent event) {  
            YourHibernateEntity yourEntity = (YourHibernateEntity ) event.getObject());  
            SessionFactory sessFact = new AnnotationConfiguration().configure().buildSessionFactory();    
        Session sess = sessFact.openSession();
        Transaction  tran = sess.beginTransaction();
        sess.update(yourEntity );
        tran.commit();      

        }