estou salvando meu objeto, mais só salva o codigo.
OBS: como estou no começo do projeto, só fiz a parte de persistir, e no banco eu verifico. acho que não está faltando nada.
@Entity
public class Fabricante {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer codigo;
private String descricao;
public Integer getCodigo() {
return codigo;
}
public void setCodigo(Integer codigo) {
this.codigo = codigo;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public class FabricanteDAO implements Serializable{
private static final long serialVersionUID = 1L;
@Inject
EntityManager manager;
@Transactional
public void salvar(Fabricante fabricante) {
manager.merge(fabricante);
}
public class FabricanteService implements Serializable{
private static final long serialVersionUID = 1L;
@Inject
private FabricanteDAO dao;
public void salvar(Fabricante fabricante) throws NegocioException{
try{
dao.salvar(fabricante);
Messages.addGlobalInfo("Fabricante salvo com sucesso!");
}
catch (Exception e) {
throw new NegocioException("Não foi possível salvar o Fabricante");
}
}
@Named
@ViewScoped
public class FabricanteBean implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
private FabricanteService service;
private Fabricante fabricante;
@PostConstruct
public void inicializar() {
this.fabricante = new Fabricante();
}
public void salvar() throws NegocioException {
service.salvar(fabricante);
this.fabricante = new Fabricante();
}
public Fabricante getFabricante() {
return fabricante;
}
public void setFabricante(Fabricante fabricante) {
this.fabricante = fabricante;
}
}
<ui:composition template="/WEB-INF/template/layoutPadrao.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p=“http://primefaces.org/ui”>
<ui:define name="titulo">Cadastro de Fabricante</ui:define>
<ui:define name="corpo">
<!-- <f:metadata>
<o:viewParam name="fabricante" value="#{cadastroFabricanteBean.fabricante}" />
<f:viewAction action="#{cadastroFabricanteBean.inicializar}"/>
</f:metadata> -->
<h1>Cadastro de Fabricante</h1>
<h:form id="frmCadastro">
<p:messages id="messages" autoUpdate="true" closable="true" />
<p:toolbar style="margin-top: 20px">
<p:toolbarGroup>
<p:commandButton value="Salvar" action="#{fabricanteBean.salvar}" id="botaoSalvar" update="frmCadastro"/>
</p:toolbarGroup>
<p:toolbarGroup align="right">
<p:button value="Pesquisa" outcome="pesquisaFabricante"/>
</p:toolbarGroup>
</p:toolbar>
<p:panelGrid columns="2" id="painel" style="width: 100%; margin-top: 20px" columnClasses="rotulo, campo">
<p:outputLabel value="Código" for="codigo" />
<p:inputText id="codigo" size="10" value="#{fabricanteBean.fabricante.codigo}" maxlength="20" readonly="true" />
<p:outputLabel value="Nome" for="nome"/>
<p:inputText id="nome" size="60" value="#{fabricanteBean.fabricante.descricao}" maxlength="80" />
</p:panelGrid>
</h:form>
</ui:define>
</ui:composition>
