Página Inicial do Fórum > Frameworks, APIs e IDE's

HibernateUtil com Annotations



Criar novo tópico   Responder tópico


  1. Cometa
    Posts:35


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Alguem pode me ajudar????
    Estou tentando criar um HibernateUtil, estou tendo problema
    com as classes que possuem relacionamento, segue abaixo o
    meu codigo e erro.

    Obs.: Para classes que não possuem relacionamentos funciona sem problema.

    Estou usando Eclipse, Hibernate 3.1 com annotations.


    HibernateUtil



    ERRO - Este erro ocorre na execução da linha .buildSessionFactory();



    CLASSE CadNivel01




  1. jdamasceno
    Posts:339


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Você deve usar generics no seu Set e mapear a outra entidade.
    _________________
    Juan Damasceno

    "Eu fiz essa carta maior que o normal, somente porque não tive tempo de faze-la mais curta." Blaise Pascal




  1. Cometa
    Posts:35


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    jdamasceno
    Você deve usar generics no seu Set e mapear a outra entidade.



    Valeu Damasceno, como não peguei a workspace no trabalho, vou alterar amanhã e te retorno.








  1. Cometa
    Posts:35


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Sou novo em Java, estou procurando um exemplo no google mais econtro nenhum com set, estas anotações foram criadas pelo hibernate tools. Estou meio confuso, voce poderia me dar mais uma ajuda? O relacionamento é este aqui em baixo




    Como ficaria?

    Obrigado, vlw.




  1. jdamasceno
    Posts:339


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    O hibernate tools gera o código com Generics para você, o problema é que você não passou a outra tabela do relacionamento para ele.
    _________________
    Juan Damasceno

    "Eu fiz essa carta maior que o normal, somente porque não tive tempo de faze-la mais curta." Blaise Pascal




  1. Cometa
    Posts:35


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Ao fazer a engenharia reversa, informei todas as minhas tabelas no arquivo reveng, só isso não é o suficiente? Existe uma opção especifica para gerar com generic?


    Vlw.




  1. Cometa
    Posts:35


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44


    Cometa
    Ao fazer a engenharia reversa, informei todas as minhas tabelas no arquivo reveng, só isso não é o suficiente? Existe uma opção especifica para gerar com generic?


    Vlw.



    Alterei alguma coisa que ele gerou como generics, agora vou testar.






  1. Cometa
    Posts:35


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    A unica alteração que fiz foi, inserir apenas as tabelas do relacionamento no reveng, ai ele gerou como generic, estou testando.

    Vlw.




  1. Cometa
    Posts:35


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Agora o erro esta em utilizar o mappedBy nas duas classes, estou estudando para ver como posso solucionar este problema, sei que este tipo de relacionamento é meio complicado. Se voce puder me dar uma ajuda.

    Obrigado.

    Exception in thread "main" java.lang.ExceptionInInitializerError
    at br.com.wise.hibernate.HibernateUtil.(HibernateUtil.java:32)
    at br.com.wise.hibernate.Teste.main(Teste.java:22)
    Caused by: org.hibernate.AnnotationException: Illegal use of mappedBy on both sides of the relationship: br.com.empresa.cadastro.Segperfil.usuarios
    at org.hibernate.cfg.annotations.TableBinder.bindFk(TableBinder.java:183)
    at org.hibernate.cfg.annotations.CollectionBinder.bindCollectionSecondPass(CollectionBinder.java:1253)
    at org.hibernate.cfg.annotations.CollectionBinder.bindManyToManySecondPass(CollectionBinder.java:1101)
    at org.hibernate.cfg.annotations.CollectionBinder.bindStarToManySecondPass(CollectionBinder.java:567)
    at org.hibernate.cfg.annotations.CollectionBinder$1.secondPass(CollectionBinder.java:50
    at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:43)
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1127)
    at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:296)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1283)
    at br.com.empresa.hibernate.HibernateUtil.(HibernateUtil.java:27)
    ... 1 more




  1. jdamasceno
    Posts:339


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Posta o código das duas classes
    _________________
    Juan Damasceno

    "Eu fiz essa carta maior que o normal, somente porque não tive tempo de faze-la mais curta." Blaise Pascal




  1. Cometa
    Posts:35


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    jdamasceno
    Posta o código das duas classes



    Classe Segperfil



    Classe Usuario



    Valeu pela ajuda, espero em pouco tempo poder estar contribuindo com o forum respondendo as duvidas da galera.

    Obrigado.




  1. jdamasceno
    Posts:339


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Retire o mappedby de um dos lados do relacionamento.
    _________________
    Juan Damasceno

    "Eu fiz essa carta maior que o normal, somente porque não tive tempo de faze-la mais curta." Blaise Pascal




  1. Cometa
    Posts:35


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    jdamasceno
    Retire o mappedby de um dos lados do relacionamento.



    Removi um dos mappedby e funcionou, valeu Damasceno. Eu tambem estava procurando na internet e encontrei um forum onde o usuario fala que isso é um bug, qual é a sua opnião? Segue o link do Forum caso voce queira ver http://forum.hibernate.org/viewtopic.php?t=965999&view=next&sid=4c1a8c8f41301f995c0658d42252738c[/url]
    Foi postado pelo usuario max.

    Estamos ai, muito obrigado.




  1. jdamasceno
    Posts:339


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Eu não gosto de utilizar o hibernatetools, geralmente gero o banco apartir das classes mapeadas por mim mesmo.
    _________________
    Juan Damasceno

    "Eu fiz essa carta maior que o normal, somente porque não tive tempo de faze-la mais curta." Blaise Pascal




  1. Cometa
    Posts:35


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    jdamasceno
    Eu não gosto de utilizar o hibernatetools, geralmente gero o banco apartir das classes mapeadas por mim mesmo.



    No inicio estava fazendo assim tambem, mais como tive problemas para inserir as annotations, optei por criar o banco e fazer a engenharia reversa. Estou vendo que vou ter alguns problemas.




  1. Cometa
    Posts:35


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Damasceno, voce pode me ajudar novamente? Estou tendo problemas no insert na tabela usuario, quero apenas inserir o usuario, mas esta dando erro com relação a tabela do relacionamento. Estava usando CascadeType.all alterei para CascadeType.PERSIST ai apareceu uma nova mensagem




    Rotina de teste com alguns comentarios das tentativas.




    Estou correndo atras para tentar resolver e se conseguir eu coloca a solução.

    Obrigado.




  1. jdamasceno
    Posts:339


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Atribua explicitamente um id para o usuário, ou use um generator.
    _________________
    Juan Damasceno

    "Eu fiz essa carta maior que o normal, somente porque não tive tempo de faze-la mais curta." Blaise Pascal




  1. Relacionados





Novo tópico   Responder tópico     Índice do forum -> Frameworks, APIs e IDE's