Tenho umas perguntas que podem parecer óbivias mas que ainda nao se encaixaram na minha cabeça, preciso de ajuda pra entender…
Qual a vantagem de se utilizar Hibernate com jpa? Apenas pra não ter que ficar buscando instancia da sessão e controlar isso no EntityManager? Sendo que uma classe HibernateUtils (que não é mto complicada )resolveria isso pra mim.
O que me faria querer controlar as transações do Hibernate com JTA?
Qual a vantagem de se utilizar Hibernate com jpa?
JPA é uma especificação para frameworks de persistência como o Hibernate e Toplink. As vantagens são:
Padrão de desenvolvimento, ou seja, todo mundo que quiser implementar JPA deverá seguir seu padrão, com isso vc ganha em pattern.
Por seguir essa especificação, você poderia trocar facilmente de framework Hibernate -> Toplink por exemplo.
Implementação de Entidade via @annotation sem precisar de cansativos XMLs, mesmo que eles ainda possam ser usados se precisar.
…
O que me faria querer controlar as transações do Hibernate com JTA?
Imagene um cenário que você tenha uma aplicação que acesse 2 bancos de dados diferentes, até mesmo de fornecedores diferentes Oracle e MSqlServer.
Você precisa efetuar uma operação nessas duas bases de dados dentro de uma transação única, como faria ??. o JTA faz pra vc!! rs
Com isso o JEE atravéz da JTS consegue manipular transações de diferentes bancos de forma comum independente da especificação de cada um.