Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JSF Datatable与Spring数据JPA一起使用时出现StaleObjectStateException_Spring_Jsf_Jsf 2_Jpa 2.0 - Fatal编程技术网

将JSF Datatable与Spring数据JPA一起使用时出现StaleObjectStateException

将JSF Datatable与Spring数据JPA一起使用时出现StaleObjectStateException,spring,jsf,jsf-2,jpa-2.0,Spring,Jsf,Jsf 2,Jpa 2.0,//保存操作返回的productPrice是新对象 } @Component @Scope("view") public class ProductPriceBean { @Autowired private ProductPriceDAO productPriceDAO; public void saveProductPrice(ProductPrice productPrice){ productPrice=productPriceDAO.save

//保存操作返回的productPrice是新对象 }

@Component
@Scope("view")
public class ProductPriceBean {

    @Autowired
    private ProductPriceDAO productPriceDAO;

    public void saveProductPrice(ProductPrice productPrice){
        productPrice=productPriceDAO.save(productPrice);
JSF:


这在第一次运行良好…但在第二次收到过时的产品异常时。 如何使用新产品更新数据表

Thxs.

这就成功了:

<p:dataTable var="price" value="#{product.prices}" editable="true">
                    <p:ajax event="rowEdit"
                        listener="#{productPriceBean.saveProductPrice(price)}"
                        update=":form:messages" />



                    <p:column headerText="Price">
                        <p:cellEditor>
                            <f:facet name="output">
                                <h:outputText value="#{price.price}" >
                                <f:convertNumber type="currency" currencyCode="GBP"/>
                                </h:outputText>
                            </f:facet>
                            <f:facet name="input">
                                <p:inputText value="#{price.price}" >
                                  <f:convertNumber type="currency" currencyCode="GBP"/>
                                </p:inputText>
                            </f:facet>
                        </p:cellEditor>
                    </p:column>


            <p:rowEditor />  
        </p:column>  

</p:dataTable>
<p:dataTable var="price" value="#{product.prices}" editable="true">
                    <p:ajax event="rowEdit"
                        listener="#{productPriceBean.saveProductPrice(price)}"
                        update=":form:messages" />



                    <p:column headerText="Price">
                        <p:cellEditor>
                            <f:facet name="output">
                                <h:outputText value="#{price.price}" >
                                <f:convertNumber type="currency" currencyCode="GBP"/>
                                </h:outputText>
                            </f:facet>
                            <f:facet name="input">
                                <p:inputText value="#{price.price}" >
                                  <f:convertNumber type="currency" currencyCode="GBP"/>
                                </p:inputText>
                            </f:facet>
                        </p:cellEditor>
                    </p:column>


            <p:rowEditor />  
        </p:column>  

</p:dataTable>
public void saveProductPrice(ProductPrice productPrice){
    productPriceDAO.save(productPrice);
    product=productDAO.save(product);
}