DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 17/8/2010 9:36:54 AM

opa td bom..
 
seguinte.. to fazendo uma app de cadastro de curriculo com hibernate e jsf mas to enroscado em uma parte do cadastro... a minha idéia é cadastrar idioma e nivel de conhecimanto usando enum.. então eu tenho a classe Idioma que possui nome e nivel (ambos tipo enum).. a classe Curriculo possui relacionamento one-to-many com a classe Idioma, pois um curriculo possui vários idiomas.. como a classe Idioma possui nome do idioma e nível de conhecimento.. a classe curriculo possui uma lista  de idiomas.. mas não estou conseguindo finalizar essa idéia.. vou postar os código e a msg de erro na sequencia:
 
hibernate xml da classe Idioma e Curriculo:
 
<hibernate-mapping>
    <typedef class="br.com.working.entity.StringEnumUserType" name="nivel">
        <param name="enumClassName">br.com.working.entity.Nivel</param>
    </typedef>
    <typedef class="br.com.working.entity.StringEnumUserType" name="nome">
        <param name="enumClassName">br.com.working.entity.Nome</param>
    </typedef>
    <class name="br.com.working.entity.Idioma" table="idioma">
        <id name="id" column="idioma">
            <generator class="sequence">
                <param name="sequence">idioma_seq</param>
            </generator>
        </id>
 
        <property name="nivel" column="nivel" type="nivel" not-null="true" update="false" access="field" />
        <property name="nome" column="nome" type="nome" not-null="true" update="false" access="field" />
        <many-to-one name="curriculo" class="br.com.working.entity.Curriculo" column="curriculo" />
    </class>
</hibernate-mapping>
 
<hibernate-mapping>
    <class name="br.com.working.entity.Curriculo" table="curriculo">
        <id name="id" column="pessoa">
            <generator class="foreign">
                <param name="property">pessoa</param>
            </generator>
        </id>
        <property name="objetivo" column="objetivo" />
        <one-to-one name="pessoa" class="br.com.working.entity.Pessoa" constrained="true" />
        <bag name="ep" cascade="all" inverse="true">
            <key column="curriculo" not-null="true" />
            <one-to-many class="br.com.working.entity.ExperienciaProfissional" />
        </bag>
        <bag name="fa" cascade="all" inverse="true">
            <key column="curriculo" not-null="true" />
            <one-to-many class="br.com.working.entity.FormacaoAcademica" />
        </bag>
        <bag name="idioma" cascade="all" inverse="true">
            <key column="curriculo" not-null="true" />
            <one-to-many class="br.com.working.entity.Idioma" />
        </bag>
    </class>
</hibernate-mapping>
 
 
trecho método do managed bean que prepara a página  
(aqui existe a classe Pessoa p que é dona do curriculo)
o nivel de idioma vem da página jsf:
 
    public String preparaCurriculo3 () {
        
        curriculo = curDao.getCurriculo(p.getCurriculo().getId());
        listIdioma = curDao.getIdioma(curriculo.getId());
        
        if (listIdioma.size() > 0)  
        {
            idioma1 = listIdioma.get(0);  
        }
        else {
            idioma1 = new Idioma();
            idioma1.setNome(Nome.INGLES);
        }
        
        if (listIdioma.size() > 1) {
            idioma2 = listIdioma.get(1);  
        }
        else {
            idioma2 = new Idioma();
            idioma2.setNome(Nome.ESPANHOL);
        }
        
        listIdioma.removeAll(listIdioma);
        listIdioma.add(idioma1);
        listIdioma.add(idioma2);
        
        idioma1.setCurriculo(curriculo);
        idioma2.setCurriculo(curriculo);
        curriculo.setIdioma(listIdioma);
 
        p.setCurriculo(curriculo);
        curriculo.setPessoa(p);
 
        return "addCurriculo3";
    }
 
quando vou salvar a página vem o seguinte erro:
 
org.hibernate.PropertyValueException: not-null property references a null or transient value: br.com.working.entity.Idioma.nivel
    at org.hibernate.engine.Nullability.checkNullability(Nullability.java:95)
 
alguém sabe o que está errado?
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 17/8/2010 10:50:29 AM
Opa !

Pelo que eu Estou vendo... a classe br.com.working.entity.Idioma até existe , porem a sua propriedade nivel (dentro de  br.com.working.entity.Idioma) está NULL , poderia confirmar ?(use um System.out.println(""))



 
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 18/8/2010 12:56:24 PM
coloquei a seguinte linha:

System.out.println(p.getCurriculo().getIdioma().get(1).getNivel());
e imprimiu: INTERMEDIARIO

desconfio que seja um erro no mapeamento ou o campo enum no banco.

eu to usando ORACLE e ae vai a pergunta: que tipo deve ser meu campo enum no oracle? eu coloquei VARCHAR2(255)

 
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 19/8/2010 9:21:01 AM
Opa , poderia colar as classes java aqui ? estou com duvidas...

Já tentou realizar este mapeamento utilizando anotações ? é até mais facil !


 
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 23/8/2010 12:49:17 PM
arquivo Curriculo do hibernate:
 
<hibernate-mapping>
    <class name="br.com.working.entity.Curriculo" table="curriculo">
        <id name="id" column="pessoa">
            <generator class="foreign">
                <param name="property">pessoa</param>
            </generator>
        </id>
        <property name="objetivo" column="objetivo" />
        <one-to-one name="pessoa" class="br.com.working.entity.Pessoa" constrained="true" />
        <bag name="ep" cascade="all" inverse="true">
            <key column="curriculo" not-null="true" />
            <one-to-many class="br.com.working.entity.ExperienciaProfissional" />
        </bag>
        <bag name="fa" cascade="all" inverse="true">
            <key column="curriculo" not-null="true" />
            <one-to-many class="br.com.working.entity.FormacaoAcademica" />
        </bag>
        <bag name="idioma" cascade="all" inverse="true">
            <key column="curriculo" not-null="true" />
            <one-to-many class="br.com.working.entity.Idioma" />
        </bag>
    </class>
</hibernate-mapping>
 
arquivo Idioma do hibernate:
 
<hibernate-mapping>
    <typedef class="br.com.working.entity.StringEnumUserType" name="nivel">
        <param name="enumClassName">br.com.working.entity.Nivel</param>
    </typedef>
    <typedef class="br.com.working.entity.StringEnumUserType" name="nome">
        <param name="enumClassName">br.com.working.entity.Nome</param>
    </typedef>
    <class name="br.com.working.entity.Idioma" table="idioma">
        <id name="id" column="idioma">
            <generator class="sequence">
                <param name="sequence">idioma_seq</param>
            </generator>
        </id>
 
        <property name="nivel" column="nivel" type="nivel" not-null="true" update="false" access="field" />
        <property name="nome" column="nome" type="nome" not-null="true" update="false" access="field" />
        <many-to-one name="curriculo" class="br.com.working.entity.Curriculo" column="curriculo" />
    </class>
</hibernate-mapping>
 
classes Java:
 
public class Curriculo implements Serializable{
 
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
     
    private Integer id;
    private String objetivo;
    private Pessoa pessoa;
    private List<ExperienciaProfissional> ep;
    private List<FormacaoAcademica> fa;
    private List<Idioma> idioma;
 
    // getters and setters equals and hashcode
}
 
public class Idioma implements Serializable{
 
    /**
     * 
     */
    private static final long serialVersionUID = 4942411828844125491L;
 
    /* member variables */
    private Integer id;
    private Curriculo curriculo;
    private Nome nome;
    private Nivel nivel;
 
    // getters and setters equals and hashcode
}
 
arquivos enum:
 
public enum Nivel {
    NENHUM(0), BASICO(1), INTERMEDIARIO(2), AVANCADO(3), FLUENTE(4);
     
    private Integer nivel;
     
    /* constructor */
    Nivel (Integer nivel) {
        this.nivel = nivel;
    }
 
    /* getters and setters */
    public Integer getNivel() {
        return nivel;
    }
}
 
public enum Nome {
    INGLES("Inglês"), 
    ESPANHOL("Espanhol");
     
     
    private String nome;
     
    /* constructor */
    Nome (String nome) {
        this.nome = nome;
    }
 
    /* getters and setters */
    public String getNome() {
        return nome;
    }
}
 
quando eu salvo o curriculo td dá certo eis o código:
 
    public static void main(String[] args) {     
 
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction tx = session.beginTransaction();
         
        Pessoa p = new Pessoa();
        Curriculo curriculo = new Curriculo();
        Idioma idioma1 = new Idioma();
        Idioma idioma2 = new Idioma();
        Idioma idioma3 = new Idioma();
        List<Idioma> listIdioma = new ArrayList<Idioma>();
 
        p.setDtNascimento(new GregorianCalendar().getTime());
        p.setEstCivil("S");
        p.setNome("fabianoooooooooooooooooooooooooooooooooooooooooo");
        p.setSexo("M");
        p.setLocalNascimento("campinas");
        p.setCurriculo(curriculo);
 
        idioma1.setNivel(Nivel.AVANCADO);
        idioma1.setNome(Nome.INGLES);
        idioma1.setCurriculo(curriculo);
         
        idioma2.setNivel(Nivel.NENHUM);
        idioma2.setNome(Nome. ESPANHOL);
        idioma2.setCurriculo(curriculo);
         
        idioma3.setNivel(Nivel.FLUENTE);
        idioma3.setNome(Nome.INGLES);
        idioma3.setCurriculo(curriculo);
         
        listIdioma.add(idioma1);
        listIdioma.add(idioma2);
        listIdioma.add(idioma3);
         
        curriculo.setIdioma(listIdioma);
        curriculo.setObjetivo("teste");         
        curriculo.setPessoa(p);
         
        session.save(p);
         
        tx.commit();
        session.flush();
        session.close();
}
 
até aqui td funciona.. tô salvando os arquivos.. agora vou alterar e é onde dá o erro.
eis o código:
 
    public static void main(String[] args) {     
 
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction tx = session.beginTransaction();
         
        PessoaDAO pDao = new PessoaDAO();
        CurriculoDAO cDao = new CurriculoDAO();
         
        Pessoa p = pDao.getPessoa(444);
        Curriculo curriculo = cDao.getCurriculo(444);
        Idioma idioma1 = new Idioma();
        Idioma idioma2 = new Idioma();
        Idioma idioma3 = new Idioma();
        List<Idioma> listIdioma = new ArrayList<Idioma>();
 
        p.setDtNascimento(new GregorianCalendar().getTime());
        p.setEstCivil("S");
        p.setNome("fabianoooooooooooooooooooooooooooooooooooooooooo");
        p.setSexo("M");
        p.setLocalNascimento("campinas");
        p.setCurriculo(curriculo);
 
        idioma1.setNivel(Nivel.AVANCADO);
        idioma1.setNome(Nome.INGLES);
        idioma1.setCurriculo(curriculo);
         
        idioma2.setNivel(Nivel.NENHUM);
        idioma2.setNome(Nome. ESPANHOL);
        idioma2.setCurriculo(curriculo);
         
        idioma3.setNivel(Nivel.FLUENTE);
        idioma3.setNome(Nome.INGLES);
        idioma3.setCurriculo(curriculo);
         
        listIdioma.add(idioma1);
        listIdioma.add(idioma2);
        listIdioma.add(idioma3);
         
        curriculo.setIdioma(listIdioma);
        curriculo.setObjetivo("teste");         
        curriculo.setPessoa(p);
         
        session.merge(p);
         
        tx.commit();
        session.flush();
        session.close();
}
 
eis o erro:
 
Exception in thread "main" org.hibernate.PropertyValueException: not-null property references a null or transient value: br.com.working.entity.Idioma.nivel
    at org.hibernate.engine.Nullability.checkNullability(Nullability.java:95)
    at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:313)
    at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
    at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)
    at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:238)
    at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:170)
    at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:714)
    at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:696)
    at org.hibernate.engine.CascadingAction$6.cascade(CascadingAction.java:268)
    at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:291)
    at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:239)
    at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)
    at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:319)
    at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:265)
    at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:242)
    at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)
    at org.hibernate.engine.Cascade.cascade(Cascade.java:153)
    at org.hibernate.event.def.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:459)
    at org.hibernate.event.def.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:318)
    at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:167)
    at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:714)
    at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:696)
    at org.hibernate.engine.CascadingAction$6.cascade(CascadingAction.java:268)
    at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:291)
    at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:239)
    at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)
    at org.hibernate.engine.Cascade.cascade(Cascade.java:153)
    at org.hibernate.event.def.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:459)
    at org.hibernate.event.def.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:318)
    at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:167)
    at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:81)
    at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:704)
    at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:688)
    at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:692)
    at br.com.working.test.Teste.main(Teste.java:77)

 
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 25/8/2010 1:26:56 PM
Opa !

Para alterar voce nao pode criar uma lista nova de idiomas e setar... para alterar voce deve RECUPERAR a lista que Já está salva e alterar os itens dentro dela...

TEste e me avise !


 
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 26/8/2010 9:11:53 AM
fiz a alteração que vc pediu.. agora não dá mais erro .. porêm, nenhuma alteração é feita.
algo ainda está errado taí o código:
 
    public static void main(String[] args) {     
     
 
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction tx = session.beginTransaction();
         
        PessoaDAO pDao = new PessoaDAO();
        CurriculoDAO cDao = new CurriculoDAO();
         
        Pessoa p = pDao.getPessoa(444);
        Curriculo curriculo = cDao.getCurriculo(444);
        List<Idioma> listIdioma = cDao.getIdioma(curriculo.getId());
         
        p.setDtNascimento(new GregorianCalendar().getTime());
        p.setEstCivil("S");
        p.setNome("fabianoooooooooooooooooooooooooooooooooooooooooo");
        p.setSexo("M");
        p.setLocalNascimento("campinas");
        p.setCurriculo(curriculo);
 
        listIdioma.get(0).setNivel(Nivel.FLUENTE);
        listIdioma.get(0).setNome(Nome.INGLES);
        listIdioma.get(0).setCurriculo(curriculo);
         
        listIdioma.get(1).setNivel(Nivel.FLUENTE);
        listIdioma.get(1).setNome(Nome. ESPANHOL);
        listIdioma.get(1).setCurriculo(curriculo);
         
        listIdioma.get(2).setNivel(Nivel.FLUENTE);
        listIdioma.get(2).setNome(Nome.INGLES);
        listIdioma.get(2).setCurriculo(curriculo);
         
        curriculo.setIdioma(listIdioma);
        curriculo.setObjetivo("teste");         
        curriculo.setPessoa(p);
         
        session.merge(p);
         
        tx.commit();
        session.flush();
        session.close();
    }

 
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 26/8/2010 9:18:50 AM
Esses seus DAOS estão criando sessions dentro ?

Crie um construtor nestes daos e passe o session que vc instancia por primeiro para eles utilizarem , teste e me fale.


 
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 27/8/2010 8:34:37 AM
Não estou usando mais os daos.. e ainda não está salvando..

    public static void main(String[] args) {         
 
        Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction tx = session.beginTransaction();
         
        Pessoa p = (Pessoa) session.get(Pessoa.class, 444);
        Curriculo curriculo = (Curriculo) session.get(Curriculo.class, p.getId());         
        List<Idioma> listIdioma = curriculo.getIdioma();
         
        p.setDtNascimento(new GregorianCalendar().getTime());
        p.setEstCivil("S");
        p.setNome("fabianoooooooooooooooooooooooooooooooooooooooooo");
        p.setSexo("M");
        p.setLocalNascimento("campinas");
        p.setCurriculo(curriculo);
 
        listIdioma.get(0).setNivel(Nivel.FLUENTE);
        listIdioma.get(0).setNome(Nome.INGLES);
        listIdioma.get(0).setCurriculo(curriculo);
         
        listIdioma.get(1).setNivel(Nivel.FLUENTE);
        listIdioma.get(1).setNome(Nome. ESPANHOL);
        listIdioma.get(1).setCurriculo(curriculo);
         
        listIdioma.get(2).setNivel(Nivel.FLUENTE);
        listIdioma.get(2).setNome(Nome.INGLES);
        listIdioma.get(2).setCurriculo(curriculo);
         
        curriculo.setIdioma(listIdioma);
        curriculo.setObjetivo("teste");         
        curriculo.setPessoa(p);
         
        session.merge(p);
         
        tx.commit();
        session.flush();
        session.close();
    }

 
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 27/8/2010 8:45:52 AM
Faz um teste por favor:

Antes de fechar a sessao coloque:


session.update(listIdioma.get(0));
session.update(listIdioma.get(1));
session.update(listIdioma.get(2));

 
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 30/8/2010 10:20:22 AM
fiz mais esse teste a não funciona.. apenas as tabelas pessoa e curriculo são alteradas.. nada acontece na tabela Idioma (onde estão os campos enums)....

eu criei uma app para testar esse problema se vc concordar posso te mandar por email.. se vc tiver o oracle instalado vai levar 5 min. pra instalar... tem os comandos para criar as 3 tabelas e a classe de teste... só vai precisar alterar o arquivo config do hibernate...

 
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 30/8/2010 10:40:36 AM
Mande por favor...


 
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 30/8/2010 1:21:44 PM
já mandei.. valeu

 
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 3/9/2010 4:43:50 PM
encontrou alguma coisa?

 
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 6/9/2010 9:47:36 AM
Opa !


Eu nao recebi , poderia tentar denovo ?

Mande tmb para dyego.leal@gmail.com !!!!


 
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 8/9/2010 8:43:37 AM
acabei de mandar..

Obrigado!

 
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 13/9/2010 8:08:37 PM
Recebi e estou vendo aqui...


 
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 14/9/2010 2:07:07 PM
Valeu..

tô na espera...

 
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 21/9/2010 10:39:05 AM
Olha , eu botei a ultima versao do hibernate e funcionou aqui !

Tente atualizar !


 
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 22/9/2010 8:41:49 AM
era estranho não funcionar mesmo...

Valeu mesmo muito obrigado!!

td de bom!!!

Fabiano

 
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 27/9/2010 8:57:37 AM
Opa !
Resolvido ?

ValeuZ !

 
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 6/10/2010 1:11:27 PM
eu atualizei as libs do hibernate no projeto e deu problema na configuração...

vc pode passar o link de onde vc pegou as libs do hibernate que funciona?

valeu!

 
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 13/10/2010 4:25:53 PM
direto no www.hibernate.org

poderia colar o erro aqui ?


 
FABIANO ALVES DE SOUZA
 

País: Brasil
Estado: SP
Cidade: Hortolândia
Mensagens: 18
 Postado em: 16/10/2010 9:55:41 PM
baixei este arquivo do site do hibernate.org hibernate-distribution-

3.6.0.CR2

e adicionei as seguintes libs no meu projeto:

antlr-2.7.6.jar
c3p0-0.9.1.jar
cglib-2.2.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate3.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
ojdbc14.jar
slf4j-api-1.6.1.jar

quando eu rodo a aplicação dá esse erro:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for

further details.
Exception in thread "main" java.lang.ExceptionInInitializerError
    at br.com.working.util.HibernateUtil.<clinit>

(HibernateUtil.java:14)
    at br.com.working.test.Teste.main(Teste.java:22)
Caused by: java.lang.NoClassDefFoundError:

javax/persistence/EntityListeners
    at

org.hibernate.cfg.annotations.reflection.JPAMetadataProvider.getDefault

s(JPAMetadataProvider.java:96)
    at

org.hibernate.annotations.common.reflection.java.JavaReflectionManager.

getDefaults(JavaReflectionManager.java:226)
    at org.hibernate.cfg.Configuration.secondPassCompile

(Configuration.java:1353)
    at org.hibernate.cfg.Configuration.buildSessionFactory

(Configuration.java:1824)
    at br.com.working.util.HibernateUtil.<clinit>

(HibernateUtil.java:12)
    ... 1 more
Caused by: java.lang.ClassNotFoundException:

javax.persistence.EntityListeners
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... 6 more

 
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 19/10/2010 2:38:50 PM
Falta o arquivo de biblioteca sf4logj.jar

Coloque ele no classpath e tente denovo !


 
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03