O que é melhor de se utilizar hibernate core XML ou hibernate Annotations.???
Estou com dúvidas??Existe alguma diferença de performance ou produtividade/??
Não há uma ferramenta “melhor”, tudo depende dos requisitos da sua aplicação. Alguns comentários:
- Anotar classes geralmente é mais rápido do que criar XML’s de mapeamento - afinal de contas, ao usar anotações, estará tudo no mesmo arquivo;
- O desempenho será o mesmo, usar um ou outro método não resultará numa aplicação mais veloz;
- Se usar anotações, você poderá usar suas classes anotadas juntamente com qualquer implementação do JPA (por exemplo, com o TopLink), não apenas com o Hibernate EntityManager;
- A semântica e o comportamento de determinados mapeamentos é diferente entre anotações e XML.
Dito isso tudo, normalmente uso XML, pois para manipular bancos de dados antigos aqui da empresa tenho de usar chaves compostas que por sua vez contêm chaves estrangeiras, e a semântica do XML é mais adequada para isso do que aquela oferecida pelas anotações. Porém, para aplicações inteiramente novas, recomendo usar anotações. Uma coisa boa do Hibernate EntityManager é que você pode usar tanto classes mapeadas via XML quanto via anotações, usando uma ou outra técnica conforme a necessidade.
Filipe,
Assino em baixo tudo o que o Roger falou. Apenas acrescento que colocar anotações no código mistura o código da sua classe, que é um modelo orientado a objetos, com o modelo relacional do banco de dados. Mas isto não é necessariamente ruim, depende de cada projeto. Eu, pessoalmente, costumo usar XML externo. Além de separar as coisas, no XML é mais fácil entender o que está acontecendo.
Abraço
Concordo com o que disseram.
Em minha opinião, as anotações sempre me trouxeram mais produtividade.
Galera, muito obrigado por terem dicorrerem suas respectivas opiniões sobre o assunto.
Devo dizer que agora sim minha mente se abriu e vejo que ambas as formas de desenvolvimento, tem sua importância e características próprias.
Em razão disso, vejo que continuarei os estudos aprendendo à desenvolver utilizando as duas formas.
ATT,
Filipe Souza
Aprenda primeiro XML e dps parta para o annotations…
Seria melhor você saber dos dois jeitos…
Então passe o mais trabalhoso primeiro para dps vir a “melzinho na chupeta” haha
Porque você deve ter uma base dos dois… pq se tu conhece annotations e nao conhece o mapeamento por xml… se te pedirem uma hora pra fazer isso tu vai te da mal…
Começe sempre pelo mais trabalho… vai te ajuda mto mais dps!!
Annotations dá mais produtividade, depois que comecei a usa-lo discartei o xml