Pessoal, estou acostumado a usar o Hibernate usando o XDOCLET/ANT para gerar os HBMs. Tem as suas limitações, o XML gerado é pavoroso, mas funciona muito bem e já estou acostumado.
Queria saber se o Annotations de Entity já está bem maduro e se o pessoal já está usando bastante e sem problemas.
Além do XDOCLET/Annotations tem mais alguma ferramenta que vocês usam e recomendam?
Eu concordo em partes com essa afirmacao. No caso do hibernate em si tem vantagens passa para annotations os mapeamentos.
Por exemplo um relacionamento one-to-many. Com xml eu preciso criar a tag e setar varios atributos nela. COm anotacao eu nao preciso de nada disso posso fazer um simples @OneToMany, como o atributo ja ta definido com Set eu nao preciso ficar indicando isso.
Quem ja mexeu com os dois mundos nota que a quantidade de configuracao com annotation diminui, ainda mais se for um banco no onde o cara pode usar o mesmo nome da entidade e das colunas na tabela.
Usava bastante o xDoclet, mas tenho preferido Annotations ultimamente. Trabalhar com dois arquivos (o fonte e o XML) é meio chato e error-prone, por isso usava o XDoclet antes. Mas depender de duas ferramentas (compilador e o xDoclet) também não é a melhor solução. Sincronizar mudanças “na mão” acho ruim também (questão de gosto), principalmente para alguém tão descuidado e esclerosado como eu.
[quote=InfoQ]Entity Manager - EJB 3.0 - New element in Java EE respectively Java SE, which was introduced with EJB 3.0. It is (as with JDO and Hibernate) a central persistence manager. The Entity Manager is responsible for the persistence mapping of entities (POJOs). The Entity Manager creates persistent entities in the database, loads, saves, deletes and searches them. It also cares about consistency for concurrent access to entities (concurrency handling).[/quote] (http://www.infoq.com/articles/EJB-Glossary#E)
Uma resposta curta seria um “sim”. Uma resposta mais longa começaria com um “não só por isso”. Mas, basicamente, o EM serve para abstrair o seu Persistence Provider (que pode ser o HB ou o Toplink). Daí fica a seu critério definir se você quer ou não abstrair o Hibernate através do EM.
Fiz toda a configuração e as associações necessarias em minha aplicação.
ManyToOne, OneToOne, ManyToMany, etc… usei também o Fetch.Lazy e o Eager. Posso dizer que a utilização do Hibernate Annotations esta dominada e funcionando para todos os casos que eu encontrei até o momento.
Agora estou apanhando para fazer a auditoria dos meus Objetos (DTOs). Alguem já usou alguma forma de auditoria no Hibernate Annotations (Listener, Intercepetor)?