Como eu faço para mapear um atributo do tipo Enum para o hibernate ?
public class Pessoa{
private Sexo sexo;
enum Sexo {MASCULINO, FEMININO}
....
}
Procurei no site do hibernate http://www.hibernate.org/203.html e encontrei um artigo que fornece uma solução, porém na hora de implementar eu me deparei com um problema. Não encontrei as classes abaixo: Procurei em todos os jars do hibernate 3.2.0-GA e não encontrei estas classes.
mas, na sub-classe PessoaFisica, se eu colocar em qualquer atributo o Tipo Enumerado “com.cbi.bdi.model.common.enumhibernate.HibernateEstadoCivil” a minha aplicação não carrega. Como por exemplo:
public enum EstadoCivil{
CASADO,
DIVORCIADO,
SOLTEIRO,
VIUVO
};
public class HibernateEstadoCivil extends IntEnumUserType<EstadoCivil> {
protected HibernateEstadoCivil() {
super(EstadoCivil.class, EstadoCivil.values());
}
}
dá o seguinte erro ao carregar a aplicação:
10/11/2006 10:10:29 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Arquivos de programas\Java\jdk1.5.0_06\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\Arquivos de programas\Borland\Delphi7\Bin;C:\Arquivos de programas\Borland\Delphi7\Projects\Bpl;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Arquivos de programas\Apache\apache-ant-1.6.5\bin;C:\Arquivos de programas\Java\jdk1.5.0_06\bin
10/11/2006 10:10:29 org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
10/11/2006 10:10:29 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2047 ms
10/11/2006 10:10:29 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
10/11/2006 10:10:29 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.17
10/11/2006 10:10:29 org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.TldConfig).
log4j:WARN Please initialize the log4j system properly.
10/11/2006 10:10:38 org.apache.catalina.core.StandardContext start SEVERE: Error listenerStart
10/11/2006 10:10:38 org.apache.catalina.core.StandardContext start
SEVERE: Context [/bdi] startup failed due to previous errors10/11/2006 10:10:40 org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
10/11/2006 10:10:40 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
10/11/2006 10:10:40 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/47 config=null
10/11/2006 10:10:40 org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
10/11/2006 10:10:40 org.apache.catalina.startup.Catalina start
INFO: Server startup in 11484 ms
Se eu tirar do atributo o tipo HibernateEstadoCivil e colocar como Integer funciona beleza.