Hibernate : Annotation ou xml?  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
proteus_adi
JavaGuru
[Avatar]

Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline

Estou me ambientando com o Hibernate.
Lendo os vários artigos e tópicos sobre o assunto, vi que tenho a possibilidade de implementar com annotations e com xml.
Mas ainda não tenho a vivência pra me ditar as caracteristicas e vantagens de cada um.

Dai vem a dúvida.

Annotation ou xml?
Qual é melhor pra que?

"Remember Yesterday and think about tomorrow... but you have to live today"

Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam.
[Email] [MSN]
robson oliveira
Thread.start()
[Avatar]

Membro desde: 28/10/2008 14:34:49
Mensagens: 36
Offline

Boa noite....

Desculpe mas eu não entendi a sua pergunta, a sua intenção e saber se vc deve usar as anotações ou o xml em hibernate, foi isso....

No Hibernate vc tem que fazer o uso dos dois.
Por exemplo, depois que vc criar a sua classe, vc tera que Mapear a classe atraves de um arquivo NomeDaClasse.hbm.xml

E as anotações vc vai usar independente do xml..........

Se nao foi essa a sua pergunta, desconsidere, boa noite....

This message was edited 1 time. Last update was at 28/06/2009 18:44:45

[Email]
proteus_adi
JavaGuru
[Avatar]

Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline

Boa nte...
rsrs**

A pergunta é: Por que deveria usar annotation no lugar dos xml?

Qual a vantagem de cada um? Existe? Existe diferença?

This message was edited 1 time. Last update was at 28/06/2009 20:07:23


"Remember Yesterday and think about tomorrow... but you have to live today"

Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam.
[Email] [MSN]
ranophoenix
JavaEvangelist
[Avatar]

Membro desde: 28/02/2004 22:49:47
Mensagens: 389
Offline

vc tera que Mapear a classe atraves de um arquivo NomeDaClasse.hbm.xml


Há muito tempo isso não é mais necessário:

http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-mapping
proteus_adi
JavaGuru
[Avatar]

Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline

Pois eh, cara...
Com o uso de annotations...

A dúvida é exatamente essa...
rsrs**
Quando compensa ou não compensa usar Annotations.

"Remember Yesterday and think about tomorrow... but you have to live today"

Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam.
[Email] [MSN]
BrenoSalgado
Debugger

Membro desde: 11/09/2008 18:29:22
Mensagens: 68
Offline

acho que usar annotations é simplesmente melhor que xml... não vejo muita vantagem em trocar os annotations por xml
minha opinião né

This message was edited 1 time. Last update was at 29/06/2009 07:04:51

Lenin666
JavaBaby
[Avatar]

Membro desde: 17/07/2008 08:35:33
Mensagens: 92
Offline

E ae carinha...
Então, eu penso que quando vc está introduzido em um projeto realmente grande, annotations é mão na roda. A verdade é que quem é muito chiita repudia "evoluções", mas a grande verdade é que annotations é uma grande evolução. Mas sendo mais específico à sua pergunta, o hibbernate pelo que conheço, por definição, ele se faz necessário a utilização de annotations, mas posso estar enganado, pois nunca peguei nenhum projeto com utilização do hibernate. Oque posso dizer de annotations é sobre ejb. Quem já trabalhou com EJB 2 sabe bem oque é evolução para ejb 3 no quisito annotations.
Espero ter ajudado.

Java. A subida é ingrime, talvez difícil, mas a vista lá de cima é muito melhor!
[Email] [MSN]
fantomas
GUJ Master
[Avatar]

Membro desde: 24/04/2008 16:10:55
Mensagens: 1533
Localização: Terra (maior parte do tempo)
Offline

Fala proteus,

Por algum tempo este tipo de dúvida gerou bastante discussão, depois não se falou muito sobre isso; entendi que a idéia do annotations venceu rsrsrsrs. Me lembro que os amantes de xml constumavam dizer que o annotations "poluiam" e descaracterizavam o código.

Na minha opinião vale a pena utilizar o annotations, mas vale a pena dar uma boa olhada nas indicações fornecida pelos livros / tutoriais dos caras, porque existem coisas curiosas neste sentido como por exemplo, se for feita a mesma definição em xml e em annotations a definição feita em xml é que será considerada, se não me engano é isso tem mais detalhes mas não me lembro.

flws
robson oliveira
Thread.start()
[Avatar]

Membro desde: 28/10/2008 14:34:49
Mensagens: 36
Offline

Para os programadores que não gostam de trabalhar com configurações de mapeamento em XML, o
Hibernate dá a opção de mapeamento com anotações. O suporte para anotações em classes surgiu a
partir do Java 5 (1.5).
Anotações (Annotations) são entendidos como metadados da classe que são acessados em tempo de
compilação ou execução, e podem ser de classe, atributos ou métodos.
As versões mais novas do Hibernate fazem uso das anotações para mapeamentos de entidades. Com isso,
não precisamos mapeá-las em arquivos XML.
As bibliotecas e documentações para anotações vêm separadas no projeto Hibernate. Para trabalharmos
com anotações devemos fazer o download do Hibernate Annotations.


Prefiro fazer uso das anotações do hibernate pelo motivo de abstração da complexidade de configuração do xml....

Eu não usei com frequencia o hibernate, mas o pouco que usei lembro que vc usa as anotações e o mapeamento da classe vc utiliza atraves do xml (NomeDaClasse.hbm.xml).

Hoje com frequencia utilizo o "JPA", que elimina a edição do "XML" que é uma camada de abstração, portanto necessita de um provedor de persistência. Por exemplo, Hibernate e Oracle Toplink....

Espero ter contribuido, bom dia.........
[Email]
proteus_adi
JavaGuru
[Avatar]

Membro desde: 24/11/2004 10:05:10
Mensagens: 237
Localização: Belo Horizonte -
Offline

Eu também partilho da ideia de que os annotations "poluem" o código.

MAAAS,
Se é uma tendência, melhor eu me adaptar a ela...
rsrs**
É melhor me acostumar com ela então...

Pelo que eu entendi não há vantagem nenhuma em nenhum dos modos.

"Remember Yesterday and think about tomorrow... but you have to live today"

Existe vitória e existe derrota.
O segundo lugar é o primeiro dos que perderam.
[Email] [MSN]
fantomas
GUJ Master
[Avatar]

Membro desde: 24/04/2008 16:10:55
Mensagens: 1533
Localização: Terra (maior parte do tempo)
Offline

proteus wrote:Pelo que eu entendi não há vantagem nenhuma em nenhum dos modos.


Eu vejo como principal vantagem o fato de vc não ter mais um arquivo no esquema (o mapeamento xml), como vc tem tudo descrito em um único arquivo (a classe java com as anotações) fica um pouco mais fácil e produtivo ao analizar / implementar as coisas.

No começo parece estranho mas depois que vc fizer a segunda ou terceira classe com anotações verá que sua opinião começara a mudar sobre este assunto.


flws


tnaires
GUJ Master
[Avatar]

Membro desde: 22/12/2003 08:05:58
Mensagens: 1678
Localização: Porto Alegre/RS - Natal/RN
Offline

Olá

Eu vejo duas vantagens em usar xml no lugar de annotations:

1) Quando usamos annotations, misturamos código que modela o domínio do problema com código de persistência. Isso pode ser uma desvantagem para alguns. Usando xml, fica tudo separadinho.
2) Há controvérsias na comunidade se seus POJOs que modelam as classes de domínio continuam POJOs após passarem a depender de javax.persistence.*. Novamente, não há esse problema com xml.

Porém, nenhuma dessas vantagens me fez deixar de usar annotations.

Tarso Nunes Aires

Blog - http://cabritin.wordpress.com/
Delicious - http://delicious.com/tnaires
Twitter - @tnaires

irshad86
What is classpath?

Membro desde: 05/02/2009 04:19:52
Mensagens: 5
Offline

Alo pessoal!

Antes de mais, eu estou me ambientando com o Hibernate e por isso se eu disser alguma besteira aqui, me desculpem!

Estive lendo sobre Hibernate Annotations em vários sites...

Um deles:
http://simundi.blogspot.com/search/label/hibernate

Quero ficar com uma ideia mais clara:

O autor diz "As mais famosas implementações JPA são Hibenate e TopLink, existem outras."

1. O Hibernate Core não é uma implementação do JPA. Correcto?
2. O Hibernate Annotations é. Correcto?
3. Se eu estiver utilizando o Hibernate Annotations, posso claramente dizer que estou utilizando o JPA???

É que eu vejo em muitos sites a dizerem Hibernate ou JPA... O que me deixa um pouco confuso! Será que o JPA e o Hibernate são alternativas???

Por exemplo neste artigo:
http://www.javaworld.com/javaworld/jw-07-2008/jw-07-orm-comparison.html?page=1



Irshad
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team