Boa noite galera…td tranquilo ?
Eu já achei alguns exemplos de de CPF Converter mas nao to conseguindo por para funcionar. Toda vez que rodo minha classe gerabanco acontece o seguinte erro: Exception in thread “main” org.hibernate.MappingException: Could not determine type for: br.com.gerenciadeprojetos.converter.CPF, for columns: [org.hibernate.mapping.Column(cpf)]
Vou colar td o que eu fiz:
import java.util.regex.Pattern;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
public class CPFConverter implements Converter {
// mascara para CPF XXX.XXX.XXX-00
private static Pattern pattern = Pattern
.compile("[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}");
public Object getAsObject(FacesContext context, UIComponent componente,
String valor) {
System.out.println("gfhf");
if (pattern.matcher(valor).find()) {
CPF cpf = new CPF();
cpf.setCpf(valor);
return cpf;
}
throw new ConverterException(new FacesMessage(
"Nao foi possivel converter"));
}
public String getAsString(FacesContext context, UIComponent componente,
Object cpf) {
return ((CPF) cpf).getCpf();
}
}
public class CPF {
private String cpf;
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getCpf() {
return cpf;
}
}
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package br.com.gerenciadeprojetos.pojo;
import br.com.gerenciadeprojetos.converter.CPF;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
/**
*
-
@author root
*/
@Entity
@SequenceGenerator(name=“sequence”,sequenceName=“pessoa_sequence”)
public class Pessoa implements Serializable {@Id
@GeneratedValue(generator=“sequence”)
private Long Id;
private String senha;
private String usuario;
private String nome;
//private String cpf;
private String rg;
private String celular;
private String telefone;
private String rua;
private Long numero;
private String complemento;
private CPF cpf;public String getRua() {
return rua;
}public void setRua(String rua) {
this.rua = rua;
}public Long getNumero() {
return numero;
}public void setNumero(Long numero) {
this.numero = numero;
}public String getComplemento() {
return complemento;
}public void setComplemento(String complemento) {
this.complemento = complemento;
}public Long getId() {
return Id;
}public void setId(Long Id) {
this.Id = Id;
}public String getSenha() {
return senha;
}public void setSenha(String senha) {
this.senha = senha;
}public String getUsuario() {
return usuario;
}public void setUsuario(String usuario) {
this.usuario = usuario;
}public String getNome() {
return nome;
}public void setNome(String nome) {
this.nome = nome;
}public String getRg() {
return rg;
}public void setRg(String rg) {
this.rg = rg;
}public String getCelular() {
return celular;
}public void setCelular(String celular) {
this.celular = celular;
}public String getTelefone() {
return telefone;
}public void setTelefone(String telefone) {
this.telefone = telefone;
}/*public String getCpf() {
return cpf;
}public void setCpf(String cpf) {
this.cpf = cpf;
}*/public CPF getCpf() {
return cpf;
}public void setCpf(CPF cpf) {
this.cpf = cpf;
}
}
public class GeraBanco {
public static void main(String args[]){
AnnotationConfiguration configuracao=new AnnotationConfiguration();
configuracao.configure();
SchemaExport se=new SchemaExport(configuracao);
se.create(true,true);
}
}
<?xml version='1.0' encoding='UTF-8'?>
messages
<managed-bean>
<managed-bean-name>pessoacontroller</managed-bean-name>
<managed-bean-class>br.com.gerenciadeprojetos.controller.PessoaController</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>autenticador</managed-bean-name>
<managed-bean-class>br.com.gerenciadeprojetos.login.LoginHandler</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>teste</managed-bean-name>
<managed-bean-class>br.com.gerenciadeprojetos.banco.Teste</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>pessoas</managed-bean-name>
<managed-bean-class>br.com.gerenciadeprojetos.pojo.Pessoa</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<lifecycle>
<phase-listener>br.com.gerenciadeprojetos.login.Autorizador</phase-listener>
</lifecycle>
<navigation-rule>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/login.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<navigation-case>
<from-outcome>index</from-outcome>
<to-view-id>/index.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/login.jsp</from-view-id>
<navigation-case>
<from-outcome>logado</from-outcome>
<to-view-id>/index.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>pessoa</from-outcome>
<to-view-id>/pessoa/cadastropessoa.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<converter>
<converter-for-class>br.com.gerenciadeprojetos.converter.CPF</converter-for-class>
<converter-class>br.com.gerenciadeprojetos.converter.CPFConverter</converter-class>
</converter>
<%–
Document : cadastropessoa
Created on : 08/08/2009, 14:42:15
Author : root
–%>
<%@taglib uri=“http://java.sun.com/jsf/core” prefix=“f”%>
<%@taglib uri=“http://java.sun.com/jsf/html” prefix=“h”%>
<%@taglib uri=“http://richfaces.org/a4j” prefix=“a4j”%>
<%@taglib uri=“http://richfaces.org/rich” prefix=“rich”%>
<%@page contentType=“text/html” pageEncoding=“UTF-8”%>
Gerenciador de projeto <f:facet name="header">
<h:outputText value="Cadastro de Pessoas - Gerenciador de Projetos"/>
</f:facet>
<rich:panel>
<f:facet name="header">
<h:outputText value="Pessoas"/>
</f:facet>
<h:panelGrid columns="4">
<h:outputText value="Nome: "/>
<h:inputText value="#{pessoacontroller.pessoa.nome}" id="nome" required="true" >
<f:validateLength minimum="3" maximum="50" />
</h:inputText>
<h:outputText value="RG: "/>
<h:inputText value="#{pessoacontroller.pessoa.rg}" id="rg" required="true" />
<h:outputText value="CPF: "/>
<h:inputText value="#{pessoacontroller.pessoa.cpf}" id="cpf" >
<f:converter converterId="br.com.gerenciadeprojetos.converter." />
</h:inputText>
<h:outputText value="Celular: "/>
<h:inputText value="#{pessoacontroller.pessoa.celular}"/>
<h:outputText value="Telefone: "/>
<h:inputText value="#{pessoacontroller.pessoa.telefone}"/>
<h:outputText value="Rua: "/>
<h:inputText value="#{pessoacontroller.pessoa.rua}"/>
<h:outputText value="Complemento: "/>
<h:inputText value="#{pessoacontroller.pessoa.complemento}"/>
<h:outputText value="Numero: "/>
<h:inputText value="#{pessoacontroller.pessoa.numero}"/>
<h:outputText value="Usuário:"/>
<h:inputText value="#{pessoacontroller.pessoa.usuario}"/>
<h:outputText value="Senha:"/>
<h:inputSecret value="#{pessoacontroller.pessoa.senha}"/>
</h:panelGrid>
<a4j:commandButton value="Gravar" action="#{pessoacontroller.salvar}"
reRender="listapessoaajax,cadastroajax" />
<%--
<h:commandButton value="Gravar" action="#{pessoacontroller.salvar}" />
--%>
<h:commandButton value="Menu" action="index" />
<h:message for="nome" />
<h:message for="rg" />
<h:message for="cpf" />
</rich:panel>
<rich:panel id="listapessoaajax">
<f:facet name="header">
<h:outputText value="Lista de Pessoas"/>
</f:facet>
<rich:dataTable value="#{pessoacontroller.listPessoa}" var="lista"
rendered="#{not empty pessoacontroller.listPessoa}" border="1">
<h:column>
<f:facet name="header">
<h:outputText value="Id"></h:outputText>
</f:facet>
<h:outputText value="#{lista.id}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Nome"></h:outputText>
</f:facet>
<h:outputText value="#{lista.nome}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="RG"></h:outputText>
</f:facet>
<h:outputText value="#{lista.rg}"></h:outputText>
</h:column>
<%--
<h:column>
<f:facet name="header">
<h:outputText value="CPF"></h:outputText>
</f:facet>
<h:outputText value="#{lista.cpf}"></h:outputText>
</h:column>
--%>
<h:column>
<f:facet name="header">
<h:outputText value="Alterar"></h:outputText>
</f:facet>
<h:commandLink actionListener="#{pessoacontroller.escolherPessoa}"
value="Alterar" immediate="true" >
<f:param id="id_alterar" name="id_alterar" value="#{lista.id}" ></f:param>
</h:commandLink>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Excluir"></h:outputText>
</f:facet>
<h:commandLink actionListener="#{pessoacontroller.excluir}"
value="Excluir" >
<f:param id="id_excluir" name="id_excluir" value="#{lista.id}" ></f:param>
</h:commandLink>
</h:column>
</rich:dataTable>
<%--
<jsp:include page="listapessoa.jsp" />
--%>
</rich:panel>
</rich:panel>
<br/>
</h:form>
</f:view>