My code is giving success message in saving the record, but in reality it is not saving, I already checked the database, it is not generating error message, and it shows the code is all right, what will it be What happens if this happens?
My Bean class
package br.com.terezinha.imobiliaria.controller;
import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import br.com.terezinha.imobiliaria.model.Cidade;
import br.com.terezinha.imobiliaria.repository.Cidades;
import br.com.terezinha.imobiliaria.services.CadastroCidadeService;
import br.com.terezinha.imobiliaria.util.FacesUtil;
@Named
@ViewScoped
public class CadastroCidadeBean implements Serializable {
private static final long serialVersionUID = 1L;
private Cidade cidade;
@Inject
private CadastroCidadeService cadastroCidadeService;
@Inject
private Cidades cidades;
public CadastroCidadeBean() {
cidade = new Cidade();
}
// public void inicializar() {
// System.out.println("iniciaando ........");
// if (FacesUtil.isNotPostback()) {
// todasCidades = cidades.raizesC();
// }
// }
//
public void salvar(){
this.cidade = cadastroCidadeService.salvar(cidade);
FacesUtil.addInfoMessage("Cidade salvo com sucesso");
}
public Cidade getCidade() {
return cidade;
}
public void setCidade(Cidade cidade) {
this.cidade = cidade;
}
public Cidades getCidades() {
return cidades;
}
public void setCidades(Cidades cidades) {
this.cidades = cidades;
}
}
My class that entered the registry;
package br.com.terezinha.imobiliaria.repository;
import java.io.Serializable;
import java.util.List;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import br.com.terezinha.imobiliaria.model.Cidade;
public class Cidades implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Inject
private EntityManager manager;
public Cidade porId(Long id) {
return manager.find(Cidade.class, id);
}
public List<Cidade> raizesC(){
return manager.createQuery("from Cidade order by nome", Cidade.class).getResultList();
}
public Cidade guardar(Cidade cidade) {
return manager.merge(cidade);
}
}
///////////////////////////////
*/
private static final long serialVersionUID = 1L;
@Inject
private Cidades cidades;
@Transactional
public Cidade salvar(Cidade cidade){
return cidades.guardar(cidade);
}
My page
<ui:composition template="/WEB-INF/template/LayoutPadrao.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<ui:define name="titulo">Novo produto</ui:define>
<ui:define name="corpo">
<h:form>
<h1>Nova Cidade</h1>
<p:messages autoUpdate="true" closable="true" />
<p:toolbar style="margin-top: 20px">
<p:toolbarGroup>
<p:button value="Novo" />
<p:commandButton value="Salvar" id="botaoSalvar" action="#{cadastroCidadeBean.salvar}" update="@form"/>
</p:toolbarGroup>
<p:toolbarGroup align="right">
<p:button value="Pesquisa" />
</p:toolbarGroup>
</p:toolbar>
<p:panelGrid columns="2" id="painel"
style="width: 100%; margin-top: 20px" columnClasses="rotulo, campo">
<p:outputLabel value="Nome da cidade" for="cidade" />
<p:inputText id="cidade" size="20" maxlength="20"
value="#{cadastroCidadeBean.cidade.nome}" />
</p:panelGrid>
</h:form>
</ui:define>
</ui:composition>
The path of my project in the GitHub repository
I made these attempts
try one;
public void salvar(){
this.cidade = cadastroCidadeService.salvar(this.cidade);
System.out.println("valor da cidade no pacote controller " + cidade.getNome());
FacesUtil.addInfoMessage("Cidade salvo com sucesso");
}
try two;
public Cidade guardar(Cidade cidade) {
cidade = manager.merge(cidade);
System.out.println("valor da cidade no pacote repositório " + cidade.getNome());
return cidade;
}
try three;
@Transactional
public Cidade salvar(Cidade cidade) {
cidade = cidades.guardar(cidade);
System.out.println("valor da cidade no pacote de negotios " + cidade.getNome());
return cidade;
}
result;
log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
valor da cidade no pacote repositório Caruaru
valor da cidade no pacote de negotios Caruaru
valor da cidade no pacote controller Caruaru