如何解决合并和删除 javabeans 的问题
晚上好,我正在尝试删除和更新存储到数据表中的实体,应用程序不会给我错误,但事实上它不会从数据库中合并和删除记录
可能是实体管理器的问题
谁能解释一下我做错了什么?
<p:commandButton value="Save" icon="pi pi-check" action="#{marcaController.creamarca()}"
update="manage-product-content" process="manage-product-content @this"/>
//...
<p:commandButton value="Yes" icon="pi pi-check" action="#{marcaController.deletemarca()}"
process="@this" oncomplete="PF('deleteProductDialog').hide()"/>
这是 marcaController
marca m=new marca();
private static final long serialVersionUID = 1L;
@EJB
private marcaDao marcaDao;
public void openNew() {
this.m = new marca();
}
public marca getSelected() {
return m;
}
public void setSelected(marca m) {
this.m=m;
}
public void creamarca() {
if(m.getIdmarca()==null) {
try {
marcaDao.create(m);
FacesMessage m = new FacesMessage
(FacesMessage.SEVERITY_INFO,"Product created","OK");
FacesContext.getCurrentInstance().addMessage("Success",m);
} catch (Exception e) {
FacesMessage m = new FacesMessage
(FacesMessage.SEVERITY_ERROR,e.getMessage(),"KO");
FacesContext.getCurrentInstance().addMessage("Error",m);
}
}
else {
update();
FacesContext.getCurrentInstance().addMessage(null,new FacesMessage("Product Updated"));
}
PrimeFaces.current().executeScript("PF('manageProductDialog').hide()");
PrimeFaces.current().ajax().update("form:messages","form:dt-products");
}
public void update() {
marcaDao.update(getSelected());
}
public void deletemarca() {
marca m1=m;
marcaDao.deleteById(m1.getIdmarca());
m=null;
FacesContext.getCurrentInstance().addMessage(null,new FacesMessage("Product Removed"));
PrimeFaces.current().ajax().update("form:messages","form:dt-products");
}
这是 marcaDao
@PersistenceContext(unitName = "mio-persistence-unit")
private EntityManager em;
public void create(marca entity) {
em.persist(entity);
}
public void deleteById(Integer id) {
marca entity = em.find(marca.class,id);
if (entity != null) {
em.remove(entity);
}
}
public void update(marca entity) {
marca m2 = em.find(marca.class,entity.getIdmarca());
em.merge(m2);
}
先谢谢你!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。