Pessoal, boa tarde, estou com problema no meu projeto e já identifiquei qual é, minha login.xhtml nao esta atribuindo valores aos Seters da classe Usuario Modelo. Quando seto manualmente (usuario.setSenha(“123”), usuario.setUsername(“teste”) os valores são inseridos no banco normalmente, mas quando digitados nos campos da View não…
ERRO:
Caused by: javax.validation.ConstraintViolationException: Validation failed for classes [br.com.sitecarpal.model.Usuario] during persist time for groups [javax.validation.groups.Default, ]
List of constraint violations:[
ConstraintViolationImpl{interpolatedMessage=‘Não pode estar vazio’, propertyPath=senha, rootBeanClass=class br.com.sitecarpal.model.Usuario, messageTemplate=’{org.hibernate.validator.constraints.NotEmpty.message}’}
ConstraintViolationImpl{interpolatedMessage=‘Não pode estar vazio’, propertyPath=username, rootBeanClass=class br.com.sitecarpal.model.Usuario, messageTemplate=’{org.hibernate.validator.constraints.NotEmpty.message}’}
]
--------------------------VIEW-----------------------------------
<ui:composition template="/WEB-INF/templates/Layout.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://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<ui:define name="login">
<h:form>
<p:commandButton value="Criar Conta" type="button" onclick="PF('dlg2').show();"/>
<p:dialog header="Criar Conta" widgetVar="dlg2" modal="true" height="500" id="NewUserDialog">
<h:outputText value="Após criar sua conta, uma solicitação será enviada ao Administrador para ativa-la." />
<p:messages id="messages" showDetail="true" autoUpdate="true" />
<h:panelGrid columns="2" id="matchGrid" cellpadding="5">
<h:outputLabel for="user-name" value="Nome de Usuario: "/>
<h:inputText id="user-name" value="#{loginBean.userInfo.username}" required="true"/>
<h:outputLabel for="pwd1" value="Senha: *" />
<p:inputText id="pwd1" value="#{loginBean.userInfo.senha}" required="true" />
<p:commandButton value="Salvar" action="#{loginBean.salvar}" />
</h:panelGrid>
</p:dialog>
</h:form>
</ui:define>
</ui:composition>
------------------------------CONTROLER BEAN--------------------
@ManagedBean
@Named(value="loginBean")
@ViewScoped
public class LoginBean implements Serializable{
private static final long serialVersionUID = 1L;
@Inject
private UsuariosPU usuariosPU;
@Inject
private UsuarioService usuarioService;
@Inject
private FacesMessages messages;
private Usuario userInfo = new Usuario();
public void prepareNewUser(){
userInfo = new Usuario();
}
public void salvar(){
usuarioService.saveNewUser(userInfo);
messages.info("SALVO COM SUCESSO");
RequestContext.getCurrentInstance();
}
public Usuario getUserInfo() {
return userInfo;
}
public void setUserInfo(Usuario userInfo) {
this.userInfo = userInfo;
}
}
----------------MODELO-------
@Entity
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name="id")
@GeneratedValue
private Long id;
@NotEmpty
@Column(name= "username", nullable = false, length = 12)
private String username;
@NotEmpty
@Column(name = "senha", nullable = false, length = 16)
private String senha;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Usuario other = (Usuario) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
return true;
}
}
-----------------------Persistence Unit-----------------------
package br.com.sitecarpal.repository;
import java.io.Serializable;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import br.com.sitecarpal.model.Usuario;
public class UsuariosPU implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
private EntityManager manager;
public Usuario porId(Long id) {
return manager.find(Usuario.class, id);
}
public Usuario saveBD(Usuario usuario){
return manager.merge(usuario);
}
}
--------------------SERVICE-----------------------------------
package br.com.sitecarpal.service;
import java.io.Serializable;
import javax.inject.Inject;
import br.com.sitecarpal.model.Usuario;
import br.com.sitecarpal.repository.UsuariosPU;
import br.com.sitecarpal.util.Transacional;public class UsuarioService implements Serializable{
private static final long serialVersionUID = 1L;
@Inject
private UsuariosPU usuarios;@Transacional
public void saveNewUser(Usuario usuario){
usuarios.saveBD(usuario);
}}
Desde já agradeço e Muito!