[英]StaleObjectStateException when using JSF Datatable with Spring Data JPA
@Component
@Scope("view")
public class ProductPriceBean {
@Autowired
private ProductPriceDAO productPriceDAO;
public void saveProductPrice(ProductPrice productPrice){
productPrice=productPriceDAO.save(productPrice);
//the productPrice returns by the save action is the new object } //保存操作返回的productPrice是新对象}
}
JSF: JSF:
<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>
This works fine the first time...but the second time I receive a stale Product exception. 第一次可以正常工作,但是第二次我收到过时的Product异常。 How can update the datatable with new Product? 如何使用新产品更新数据表?
Thxs. 谢谢
This did the trick: 这达到了目的:
public void saveProductPrice(ProductPrice productPrice){
productPriceDAO.save(productPrice);
product=productDAO.save(product);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.