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>