Loading ...
Sorry, an error occurred while loading the content.

Persistência de objetos: JDO? Hibernate?

Expand Messages
  • Leonardo Figueiredo Almeida
    Pessoal, Estou participando de um projeto e na fase atual estamos discutindo como será feita a persistência dos objetos. Estivemos estudando JDO e agora
    Message 1 of 4 , Nov 28, 2003
    • 0 Attachment
      Pessoal,

      Estou participando de um projeto e na fase atual estamos discutindo
      como será feita a persistência dos objetos.

      Estivemos estudando JDO e agora estudamos estudando e testando o
      Hibernate.

      A minha pergunta é: Quais são as vantagens de se usar o Hibernate em
      relação a, por exemplo, usar DAOs que encapsulem o código SQL?

      Já participei de um projeto usando essa 2a alternativa, mas nunca
      usei Hibernate e gostaria de saber de quem já usou quais são as
      vantagens.

      A aplicação que será desenvolvida será uma aplicação web (usando
      struts, jsp e tal) e eu não sei se o hibernate se aplica bem a uma
      arquitetura como esta...

      Pelo que entendi da documentação, numa aplicação desse tipo, meus
      objetos de negócio serão "transientes" a maior parte do tempo, só
      sendo "persistidos" ao final das operações, o que

      tornaria essa dinâmica muito parecida com a dinâmica de uma
      aplicação usando DAOs pra inserir ou alterar um objeto em um
      determinado instante.

      Bom... é isso... eu agradeço a quem puder ajudar a defender (ou
      atacar...;) ) o Hibernate e eventualmente outros métodos de
      persistência...

      Abraços,
      Leonardo Almeida.
    • Miguel Henley
      Leonardo, Utilize o Hibernate. É um framework muito bom, inclusive, se nao me engano, as proximas versões do JBoss terão o Hibernate para persistencia dos
      Message 2 of 4 , Nov 28, 2003
      • 0 Attachment
        Leonardo,
         
        Utilize o Hibernate. É um framework muito bom, inclusive, se nao me engano, as proximas versões do JBoss terão o Hibernate para persistencia dos Entity Beans. A documentação e' muito rica e a comunidade e' bastante ativa. Aconselho a voce a suar o XDoclet para gerar os arquivos xml para ficar mais facil de trabalhar -- pois gerar "na mão" e' um saco.
         
        A unica coisa que apanhei pra cacete - um final de semana inteiro - era um problema que tive quando tentava persistir um NOVO objeto. O hibernate nao fazia a inclusao da entidade no banco de dados. Consultado o log do hibernate eu via que ele enviava comandos Update para o banco e nao comandos Insert ..  Depois, reparando melhor, vi que o problema era que eu tinha definido o ID (Identificador de Objeto) como tipo long primitivo e não como tipo Long Wrapper. Foi só compilar novamente e comemorar !
         
        O Framework realmente e' muito bom. Nao vejo problema algum na utilização dele com outras tecnlogias como o Struts e JSP.
         
        []'s -- Miguel.
         

        Leonardo Figueiredo Almeida <lalmeida@...> wrote:
        Pessoal,

        Estou participando de um projeto e na fase atual estamos discutindo
        como será feita a persistência dos objetos.

        Estivemos estudando JDO e agora estudamos estudando e testando o
        Hibernate.

        A minha pergunta é: Quais são as vantagens de se usar o Hibernate em
        relação a, por exemplo, usar DAOs que encapsulem o código SQL?

        Já participei de um projeto usando essa 2a alternativa, mas nunca
        usei Hibernate e gostaria de saber de quem já usou quais são as
        vantagens.

        A aplicação que será desenvolvida será uma aplicação web (usando
        struts, jsp e tal) e eu não sei se o hibernate se aplica bem a uma
        arquitetura como esta...

        Pelo que entendi da documentação, numa aplicação desse tipo, meus
        objetos de negócio serão "transientes" a maior parte do tempo, só
        sendo "persistidos" ao final das operações, o que

        tornaria essa dinâmica muito parecida com a dinâmica de uma
        aplicação usando DAOs pra inserir ou alterar um objeto em um
        determinado instante.

        Bom... é isso... eu agradeço a quem puder ajudar a defender (ou
        atacar...;) ) o Hibernate e eventualmente outros métodos de
        persistência...

        Abraços,
        Leonardo Almeida.




        -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
        Participe também das outras listas do RioJUG:
        JS Faces - RioJUG (http://groups.yahoo.com/group/jsf_riojug/)
        SCJP - RioJUG  (http://groups.yahoo.com/group/scjp_riojug)
        SCWCD - RioJUG (http://groups.yahoo.com/group/scwcd_riojug)
        -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
        Rio Java User's Group (grupo oficial da SUCESU-RJ)

        -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
        Nosso site:            http://www.riojug.org
        Informações:           http://groups.yahoo.com/group/riojug
        Enviar mensagens:      riojug@yahoogroups.com
        Inscrever-se no grupo: riojug-subscribe@yahoogroups.com
        Retirar-se do grupo:   riojug-unsubscribe@yahoogroups.com
        Falar com o Moderador: riojug-owner@yahoogroups.com
        -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


        Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.



        Yahoo! Mail - 6MB, anti-spam e antivírus gratuito. Crie sua conta agora!

      • wesley silva
        Caro Leonardo, O link a seguir responde a mais de trinta perguntas a respeito de 26 soluções de persistência em java. Talvez lhe ajude a construir seus
        Message 3 of 4 , Nov 29, 2003
        • 0 Attachment
          Caro Leonardo,

          O link a seguir responde a mais de trinta perguntas a
          respeito de 26 soluções de persistência em java.
          Talvez lhe ajude a construir seus argumentos

          http://c2.com/cgi/wiki?ObjectRelationalToolComparison

          abraços,

          wesley

          (p.s.: considere a hipotese de comprar um e
          DESCONSIDERE a hipotese de construir o "seu"!
          andei lendo sobre o cocobase e fiquei bastante
          impressionado com as suas features)

          -- Leonardo Figueiredo Almeida <lalmeida@...>
          escreveu: > Pessoal,
          >
          > Estou participando de um projeto e na fase atual
          > estamos discutindo
          > como será feita a persistência dos objetos.
          >
          > Estivemos estudando JDO e agora estudamos estudando
          > e testando o
          > Hibernate.
          >
          > A minha pergunta é: Quais são as vantagens de se
          > usar o Hibernate em
          > relação a, por exemplo, usar DAOs que encapsulem o
          > código SQL?
          >
          > Já participei de um projeto usando essa 2a
          > alternativa, mas nunca
          > usei Hibernate e gostaria de saber de quem já usou
          > quais são as
          > vantagens.
          >
          > A aplicação que será desenvolvida será uma aplicação
          > web (usando
          > struts, jsp e tal) e eu não sei se o hibernate se
          > aplica bem a uma
          > arquitetura como esta...
          >
          > Pelo que entendi da documentação, numa aplicação
          > desse tipo, meus
          > objetos de negócio serão "transientes" a maior parte
          > do tempo, só
          > sendo "persistidos" ao final das operações, o que
          >
          > tornaria essa dinâmica muito parecida com a dinâmica
          > de uma
          > aplicação usando DAOs pra inserir ou alterar um
          > objeto em um
          > determinado instante.
          >
          > Bom... é isso... eu agradeço a quem puder ajudar a
          > defender (ou
          > atacar...;) ) o Hibernate e eventualmente outros
          > métodos de
          > persistência...
          >
          > Abraços,
          > Leonardo Almeida.
          >
          >
          >
          > ------------------------ Yahoo! Groups Sponsor
          >
          >
          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
          > Participe também das outras listas do RioJUG:
          > JS Faces - RioJUG
          > (http://groups.yahoo.com/group/jsf_riojug/)
          > SCJP - RioJUG
          > (http://groups.yahoo.com/group/scjp_riojug)
          > SCWCD - RioJUG
          > (http://groups.yahoo.com/group/scwcd_riojug)
          >
          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
          > Rio Java User's Group (grupo oficial da SUCESU-RJ)
          >
          >
          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
          > Nosso site: http://www.riojug.org
          > Informações:
          > http://groups.yahoo.com/group/riojug
          > Enviar mensagens: riojug@yahoogroups.com
          > Inscrever-se no grupo:
          > riojug-subscribe@yahoogroups.com
          > Retirar-se do grupo:
          > riojug-unsubscribe@yahoogroups.com
          > Falar com o Moderador: riojug-owner@yahoogroups.com
          >
          -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
          >
          >
          > Your use of Yahoo! Groups is subject to
          > http://docs.yahoo.com/info/terms/
          >
          >

          ______________________________________________________________________

          Yahoo! Mail: 6MB, anti-spam e antivírus gratuito! Crie sua conta agora:
          http://mail.yahoo.com.br
        • Paulo Alvim
          Oi Leonardo, Durante 2002, avaliamos Expresso, Cocobase, OJB e Toplink, além da Hibernate, na Powerlogic. Tivemos um melhor resultado, em diversos aspectos,
          Message 4 of 4 , Nov 30, 2003
          • 0 Attachment
            Oi Leonardo,

            Durante 2002, avaliamos Expresso, Cocobase, OJB e Toplink, além da
            Hibernate, na Powerlogic.

            Tivemos um melhor resultado, em diversos aspectos, com a Hibernate, a
            começar da eficiência, linguagem OQL poderosa, filosofia não-intrusiva, e
            elegância das APIs.

            Sobre as vantagens de mapeamento OOxSGBDR em relação ao DAO, são diversas,
            desde: gerência de transações e pool JDBC, geração dos SQLs, melhor
            performance advinda da padronização da programação (a Hibernate incentiva o
            uso de prepare statements,...), isolamento real do SGBD, utilização de
            regras com maior semântica, usando getters and setters dos POJOs ou VOs, ao
            invés de ResultSet (a Hibernate, por exemplo, irá acomodar os valores do
            ResultSet nas classes de domínio do negócio), caching com JCS ou
            distribuido, geração de DDLs automática (a partir do mapeamento XML),
            diversos algoritmos para geração de OIDs, OQL (no caso da Hibernate, com
            todo os construtores de agregação - min, max, count, etc., subselects, etc.,
            disponíveis) ao inves de SQL, uso de herança e coleções nas queries,
            etc.,...

            Para tanto, porém, deve-se vencer uma curva inicial de assimilação dos novos
            conceitos de mapeamento OO x SGBDR e da framework especificamente, preço que
            muitas vezes tendemos a não querer pagar, devido àquele tendência de fazer
            as coisas do jeito que "sempre fizemos", como no caso dos DAOs...No nosso
            caso, valeu à pena investir nesta assimilação!

            Abraços e boa sorte,

            Paulo Alvim.

            -----Mensagem original-----
            De: wesley silva [mailto:wesleygsilva@...]
            Enviada em: sábado, 29 de novembro de 2003 8:28
            Para: riojug@yahoogroups.com
            Assunto: Re: [riojug] Persistência_de_objetos:_JDO?_Hibernate?


            Caro Leonardo,

            O link a seguir responde a mais de trinta perguntas a
            respeito de 26 soluções de persistência em java.
            Talvez lhe ajude a construir seus argumentos

            http://c2.com/cgi/wiki?ObjectRelationalToolComparison

            abraços,

            wesley

            (p.s.: considere a hipotese de comprar um e
            DESCONSIDERE a hipotese de construir o "seu"!
            andei lendo sobre o cocobase e fiquei bastante
            impressionado com as suas features)

            -- Leonardo Figueiredo Almeida <lalmeida@...>
            escreveu: > Pessoal,
            >
            > Estou participando de um projeto e na fase atual
            > estamos discutindo
            > como será feita a persistência dos objetos.
            >
            > Estivemos estudando JDO e agora estudamos estudando
            > e testando o
            > Hibernate.
            >
            > A minha pergunta é: Quais são as vantagens de se
            > usar o Hibernate em
            > relação a, por exemplo, usar DAOs que encapsulem o
            > código SQL?
            >
            > Já participei de um projeto usando essa 2a
            > alternativa, mas nunca
            > usei Hibernate e gostaria de saber de quem já usou
            > quais são as
            > vantagens.
            >
            > A aplicação que será desenvolvida será uma aplicação
            > web (usando
            > struts, jsp e tal) e eu não sei se o hibernate se
            > aplica bem a uma
            > arquitetura como esta...
            >
            > Pelo que entendi da documentação, numa aplicação
            > desse tipo, meus
            > objetos de negócio serão "transientes" a maior parte
            > do tempo, só
            > sendo "persistidos" ao final das operações, o que
            >
            > tornaria essa dinâmica muito parecida com a dinâmica
            > de uma
            > aplicação usando DAOs pra inserir ou alterar um
            > objeto em um
            > determinado instante.
            >
            > Bom... é isso... eu agradeço a quem puder ajudar a
            > defender (ou
            > atacar...;) ) o Hibernate e eventualmente outros
            > métodos de
            > persistência...
            >
            > Abraços,
            > Leonardo Almeida.
            >
            >
            >
            > ------------------------ Yahoo! Groups Sponsor
            >
            >
            -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
            > Participe também das outras listas do RioJUG:
            > JS Faces - RioJUG
            > (http://groups.yahoo.com/group/jsf_riojug/)
            > SCJP - RioJUG
            > (http://groups.yahoo.com/group/scjp_riojug)
            > SCWCD - RioJUG
            > (http://groups.yahoo.com/group/scwcd_riojug)
            >
            -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
            > Rio Java User's Group (grupo oficial da SUCESU-RJ)
            >
            >
            -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
            > Nosso site: http://www.riojug.org
            > Informações:
            > http://groups.yahoo.com/group/riojug
            > Enviar mensagens: riojug@yahoogroups.com
            > Inscrever-se no grupo:
            > riojug-subscribe@yahoogroups.com
            > Retirar-se do grupo:
            > riojug-unsubscribe@yahoogroups.com
            > Falar com o Moderador: riojug-owner@yahoogroups.com
            >
            -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
            >
            >
            > Your use of Yahoo! Groups is subject to
            > http://docs.yahoo.com/info/terms/
            >
            >

            ______________________________________________________________________

            Yahoo! Mail: 6MB, anti-spam e antivírus gratuito! Crie sua conta agora:
            http://mail.yahoo.com.br


            -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
            Participe também das outras listas do RioJUG:
            JS Faces - RioJUG (http://groups.yahoo.com/group/jsf_riojug/)
            SCJP - RioJUG (http://groups.yahoo.com/group/scjp_riojug)
            SCWCD - RioJUG (http://groups.yahoo.com/group/scwcd_riojug)
            -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
            Rio Java User's Group (grupo oficial da SUCESU-RJ)

            -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
            Nosso site: http://www.riojug.org
            Informações: http://groups.yahoo.com/group/riojug
            Enviar mensagens: riojug@yahoogroups.com
            Inscrever-se no grupo: riojug-subscribe@yahoogroups.com
            Retirar-se do grupo: riojug-unsubscribe@yahoogroups.com
            Falar com o Moderador: riojug-owner@yahoogroups.com
            -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

            Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
          Your message has been successfully submitted and would be delivered to recipients shortly.