Проблема с объединением и удалением javabeans

#java #merge #entity #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()"/>
 

Это Маркконтроллер

     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");
        
    }
 

Это МаркаДао

 @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);
        
    }

 

Заранее благодарю вас!