Boa tarde galera..
to com um probleminha referente a utilização do Hibernate.
tenho uma tela JSF tem que alguns campos que serão possivelmente cadastrados no Banco de Dados.. quando preencho todas os dados da tela e clico no botão "salvar" me deparo com um erro que não estou conseguindo encontrar a solução... irei postar os códigos fontes relacionados e a tela de Erro...
TELA JSF
<%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@taglibprefix="f"uri="http://java.sun.com/jsf/core"%><%@taglibprefix="h"uri="http://java.sun.com/jsf/html"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><title>CadastrodeUsuario</title></head><body><f:view><h1>CadastramentodeUsuario</h1><h:formid="cadastro"><h:messages/><h:inputHiddenvalue="#{usuarioBean.usuario.idusuario}"/><h:inputHiddenvalue="#{usuarioBean.usuario.status}"/><h:panelGridcolumns="2"><h:outputTextvalue="Nome: "/><h:inputTextvalue="#{usuarioBean.usuario.nome}"requiredMessage="Por Favor digite seu Nome"><f:validateLengthminimum="7"maximum="45"/></h:inputText><h:panelGroup><h:outputTextvalue="Nome: "/><h:inputTextvalue="#{usuarioBean.usuario.email}"requiredMessage="Email Inválido"><f:validateRegexpattern="[a-zA-Z0-9\-\_\.]+@[a-zA-Z0-9\-\_\.]+"/></h:inputText></h:panelGroup><h:outputTextvalue="Idioma: "/><h:selectOneMenuvalue="#{usuarioBean.usuario.idioma}"><f:selectItemitemValue="Português"/><f:selectItemitemValue="Espanhol"/><f:selectItemitemValue="Inglês"/></h:selectOneMenu><h:outputTextvalue="Senha: "/><h:inputSecretvalue="#{usuarioBean.usuario.senha}"redisplay="true"/><h:outputTextvalue="Confirma Senha: "/><h:inputSecretvalue="#{usuarioBean.confirmaSenha}"redisplay="true"/></h:panelGrid><h:commandButtonaction="#{usuarioBean.salvar}"value="Salvar"/></h:form></f:view></body></html>
packagebr.com.anderson.bean;importjavax.faces.application.FacesMessage;importjavax.faces.bean.ManagedBean;importjavax.faces.context.FacesContext;importbr.com.anderson.usuario.Usuario;importbr.com.anderson.usuario.UsuarioRN;@ManagedBeanpublicclassUsuarioBean{privateUsuariousuario=newUsuario();privateStringconfirmaSenha;publicStringnovo(){usuario=newUsuario();usuario.setStatus(true);return"usuario";}publicStringsalvar(){FacesContextcontext=FacesContext.getCurrentInstance();Stringsenha=usuario.getSenha();if(!senha.equals(confirmaSenha)){FacesMessagemensagem=newFacesMessage("Confirmação de Senha Incorreta");context.addMessage(null,mensagem);returnnull;}UsuarioRNusuarioRN=newUsuarioRN();usuarioRN.salvar(usuario);return"usuarioCadastrado";}publicUsuariogetUsuario(){returnusuario;}publicvoidsetUsuario(Usuariousuario){this.usuario=usuario;}publicStringgetConfirmaSenha(){returnconfirmaSenha;}publicvoidsetConfirmaSenha(StringconfirmaSenha){this.confirmaSenha=confirmaSenha;}}
Ai galera esqueci de postar o erro… kkkkkkkkkkk
o erro é o seguinte abaixo…
28/03/2012 21:23:02 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:AulaJSF' did not find a matching property.
28/03/2012 21:23:02 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.6.0\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.6.0/bin/client;C:/Program Files/Java/jre1.6.0/bin;C:/Program Files/Java/jre1.6.0/lib/i386;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Common Files\Microsoft Shared\Windows Live;F:\eclipse;
28/03/2012 21:23:03 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
28/03/2012 21:23:03 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1163 ms
28/03/2012 21:23:03 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
28/03/2012 21:23:03 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.16
28/03/2012 21:23:04 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Inicializando Mojarra 2.1.1 (FCS 20110408) para o contexto '/AulaJSF'
28/03/2012 21:23:07 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
28/03/2012 21:23:07 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
28/03/2012 21:23:07 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/93 config=null
28/03/2012 21:23:07 org.apache.catalina.startup.Catalina start
INFO: Server startup in 4119 ms
Hibernate:
select
nextval ('hibernate_sequence')
28/03/2012 21:24:53 com.sun.faces.lifecycle.InvokeApplicationPhase execute
WARNING: #{usuarioBean.salvar}: org.hibernate.exception.SQLGrammarException: could not get next sequence value
javax.faces.FacesException: #{usuarioBean.salvar}: org.hibernate.exception.SQLGrammarException: could not get next sequence value
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.el.EvaluationException: org.hibernate.exception.SQLGrammarException: could not get next sequence value
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
... 19 more
Caused by: org.hibernate.exception.SQLGrammarException: could not get next sequence value
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:119)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:122)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:562)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:550)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:546)
at br.com.anderson.usuario.UsuarioDAOHibernate.salvar(UsuarioDAOHibernate.java:17)
at br.com.anderson.usuario.UsuarioRN.salvar(UsuarioRN.java:26)
at br.com.anderson.bean.UsuarioBean.salvar(UsuarioBean.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:152)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
... 20 more
Caused by: org.postgresql.util.PSQLException: ERRO: relação "hibernate_sequence" não existe
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:351)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:255)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:98)
... 40 more
28/03/2012 21:24:53 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
org.postgresql.util.PSQLException: ERRO: relação "hibernate_sequence" não existe
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:351)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:255)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:98)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:122)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:562)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:550)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:546)
at br.com.anderson.usuario.UsuarioDAOHibernate.salvar(UsuarioDAOHibernate.java:17)
at br.com.anderson.usuario.UsuarioRN.salvar(UsuarioRN.java:26)
at br.com.anderson.bean.UsuarioBean.salvar(UsuarioBean.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:152)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
N
novato25
o código
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private int idusuario;
troque por
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int idusuario;
A
Anderson_S
novato25:
o código
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private int idusuario;
troque por
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int idusuario;
Ok. irei tentar…
Qualquer coisa irei avisar!!
Abraço!!
A
Anderson_S
novato25:
o código
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private int idusuario;
troque por
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int idusuario;
Boa tarde, esse sua solução de trocar o SEQUENCE PARA O IDENTITY, deu certo, mas agora ta acontecendo um parada muita estranha, quando eu abro a página, preencho os dados e clico no botão “salvar” ele salva normalmente no banco de dados, mais se na mesma página eu preencher novamente os campos e clicar novamente no botão “salvar” ele não salva mais também não lança nenhuma exceção… :shock:
isso é certo ou é errado??
R
Renato_natos
Como isso é possivel?
Ao clicar em salvar vc esta redirecionando o usuario para outra pagina, nunca será possivel clicar duas vezes.
A
Anderson_S
Renato_natos:
Como isso é possivel?
Ao clicar em salvar vc esta redirecionando o usuario para outra pagina, nunca será possivel clicar duas vezes.
Seguinte, quando eu abro a página preencho os dados e clico no botão cadastrar, ele cadastrar normalmente o usuario, mais se eu quiser cadastrar outro usuario após cadastrar o anterior ele não cadastra, e também não lança exceção, não acontece nada, parece que após eu clicar no botão e cadastrar o usuario no banco, aluma coisa está sendo encerrada ou fecha, não sei… :shock:
L
LPJava
Anderson, vc vai precisar limpar os campos e dizer que para o JSF após clicar em salvar ele tem que gerar um novo fluxo de objeto MBean para aquele request.
A
Anderson_S
LPJava:
Anderson, vc vai precisar limpar os campos e dizer que para o JSF após clicar em salvar ele tem que gerar um novo fluxo de objeto MBean para aquele request.
Opa Bom dia...
olha esse é meu ManegedBean
packagebr.com.anderson.bean;importjavax.faces.application.FacesMessage;importjavax.faces.bean.ManagedBean;importjavax.faces.context.FacesContext;importbr.com.anderson.usuario.Usuario;importbr.com.anderson.usuario.UsuarioRN;@ManagedBean@SessionScopedpublicclassUsuarioBean{privateUsuariousuario=newUsuario();privateStringconfirmaSenha;publicStringnovo(){usuario=newUsuario();usuario.setStatus(true);return"usuario";}publicStringsalvar(){FacesContextcontext=FacesContext.getCurrentInstance();Stringsenha=usuario.getSenha();if(!senha.equals(confirmaSenha)){FacesMessagemensagem=newFacesMessage("Confirmação de Senha Incorreta");context.addMessage(null,mensagem);returnnull;}UsuarioRNusuarioRN=newUsuarioRN();usuarioRN.salvar(usuario);return"usuarioCadastrado";}publicUsuariogetUsuario(){returnusuario;}publicvoidsetUsuario(Usuariousuario){this.usuario=usuario;}publicStringgetConfirmaSenha(){returnconfirmaSenha;}publicvoidsetConfirmaSenha(StringconfirmaSenha){this.confirmaSenha=confirmaSenha;}}
mais eu não sei como fazer isso ai que você falou... :shock:
rsrsrs
L
LPJava
é preciso entender o fluxo do JSF. Bem faz assim: qdo clicar em salvar vc manda o usuario para uma pagina, exemplo: “dados salvos com sucesso”, lá vc coloca um botão <> que vai chamar o novamente o formulario de cadastrado, porém esse botão tem, Mbean que chama seu metodo novo() e ai ele direciona para pagina do form, que vai está limpo. O processoé o mesmo que vc fez para chegar até a página do form na primeira vez, a diferença que agora a requisicao vem de outra pagina, ou seja, a que vc exibiu “dados salvo com sucesso”.
A
Anderson_S
Opa, entendi mais ou menos o que você quis dizer;;; vou analisar direitinho depois e tentar codificar,mais agora eu te pergunto, não é certo eu poder cadastrar vários usuarios diferentes um depois do outro, após o anterior ser salvo no Banco de dados??
Exemplo, se meu usuario final abrir a página de cadastro de usuarios para cadastrar 3 usuarios, o certo era que numa mesma página ele poder cadastrar vários usuarios não? ou seja, ele preenche os dados clica no botão salvar, depois ele preenche os dados de novo clica no botão salvar, e assim sucessivamente…
Ou eu estou totalmente errado, em programação WEB funciona diferente??
A
Anderson_S
Isso ai que você falou é meio inserto não???
é o certo que se faz em programação WEB?
L
LPJava
Isso ai que você falou é meio inserto não???
é o certo que se faz em programação WEB?
depende do tipo de aplicacao, da regra de negocio e o design da tua aplicação. Então não existe um padrão default para aplicação web de como tu deve desenhar tuas paginas, e sim aquela ideal para o tipo de aplicação que tu tem e se atende as necessidades do cliente, essa é a correta.
N
novato25
Troque
@ManagedBean
@SessionScoped
public class UsuarioBean { ... }
por
@ManagedBean
@RequestScoped //linha alterada
public class UsuarioBean { ... }
Se não funcionar, adicione mais esta linha depois de salvar o usuário.
usuarioRN.salvar(usuario);
usuario = new Usuario(); //adicionar esta linha
E veja se ocorre alguma mudança.
A
Anderson_S
Isso ai que você falou é meio inserto não???
é o certo que se faz em programação WEB?
depende do tipo de aplicacao, da regra de negocio e o design da tua aplicação. Então não existe um padrão default para aplicação web de como tu deve desenhar tuas paginas, e sim aquela ideal para o tipo de aplicação que tu tem e se atende as necessidades do cliente, essa é a correta.
Entendo, no meu caso estou passando meu TCC ( Trabalho de conclusão de Curso ) que antes em em JAVA desktop para JAVA WEB… então nesse caso seria mais adequado para ele abrir a página de cadastro, seja ela qual for, e fazer isso ai que não está acontecendo, cadastrar varios usuarios numa mesma abertura de página… vou tentar adequar a mensagem de cadastrado com sucesso na mesma pagina, por isso não sería uma boa aplicação redirecionar a mensagem para outra página
A
Anderson_S
novato25:
Troque
@ManagedBean
@SessionScoped
public class UsuarioBean { ... }
por
@ManagedBean
@RequestScoped //linha alterada
public class UsuarioBean { ... }
Se não funcionar, adicione mais esta linha depois de salvar o usuário.
usuarioRN.salvar(usuario);
usuario = new Usuario(); //adicionar esta linha
E veja se ocorre alguma mudança.
OK, antes de inserir sua sugestão no meu código fonte tería como você me explicar por que trocar o Session por Request??
caso eu logar com um usuario na aplicação, e abrir a página de cadastrar novos usuarios, eu tería que ter meu ManagedBean como Session, por que irei aproveitar ID dele gravado na seção, por que como mesmo usuario, eu posso fazer várias outras coisas, e para isso eu tenho que guardar a seção dele, se eu colocar o ManageBean dele como request, eu irei perder essa opção certo??? ou estou errado?
A
Anderson_S
novato25:
Troque
@ManagedBean
@SessionScoped
public class UsuarioBean { ... }
por
@ManagedBean
@RequestScoped //linha alterada
public class UsuarioBean { ... }
Se não funcionar, adicione mais esta linha depois de salvar o usuário.
usuarioRN.salvar(usuario);
usuario = new Usuario(); //adicionar esta linha
E veja se ocorre alguma mudança.
Ai mano, fiz essas duas alterções que você sugeriu e não deu certo, to achando que o problema é no Hibernate e não n JSF…
A
Anderson_S
Ai pessoal conseguir resolver o problema, na session dentro do meu método cadastrar ao invés de chamar o método save estava chamando o método update…
Obrigado a todos pela ajuda!!!