Olá, estou tendo o seguinte erro:
javax.faces.el.EvaluationException: java.lang.IllegalArgumentException: attempt to create merge event with null entity
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
alguem sabe oq eu to fazendo errado? pelo q vi nao to passando um objeto, "departamento"...
1- eu tenho meu managed bean:
@ManagedBean
public class DepartamentoBean {
Departamento departamento;
DaoGenerico dao;
List<Departamento> departamentos;
public DepartamentoBean() {
dao = new DaoGenerico();
departamento = new Departamento();
departamentos = new ArrayList<>();
departamentos = (List<Departamento>) dao.recuperaLista(Departamento.class);
}
public void editar() {
dao.salvar(departamento);
}
public void cadastro() {
dao.salvarNovo(departamento);
}
public void salvar(Object obj) {
em.getTransaction().begin();
em.merge(obj);
em.getTransaction().commit();
}
<div style="padding:10px;">
<div>
Nome do departamento<span style="color: #F00;">*</span><br />
<h:inputText value="#{departamentoBean.departamento.nome}" style="width:380px;"/>
</div>
<div class="clear"></div>
<div class="clear" style="padding-top:10px; margin-bottom:10px; border-bottom:1px solid #ccc;"></div>
<div>
<h:commandButton value="Salvar" action="#{departamentoBean.editar}">
<f:setPropertyActionListener value="#{departamento}" target="#{departamentoBean.departamento}" />
</h:commandButton>
</div>
</div>
