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?
Tô começando a brincar com EJB 3.0/Jboss 4.0. Para quem quiser trocar idéias, estamos aí
G
giovanni_stiwes
Aí é foda né.
Deveria ser assim:
Louco que é Louco faz ORM com JDBC…
Rodrigo_Carvalho_Aul
Eu estou usando o Hibernate Annotations num projeto e estou achando muito melhor que fazer/gerar hbm. Recomendo.
PS: mas entre gerar hbm com xdoclet e fazer hbm na mão, prefiro fazer na mão…
[]'s
Rodrigo C. A.
_fs
Opção 1.
Não gosto de usar annotations com o um substituto do xml. Isso não resolve o problema da configuração, apenas a muda de lugar.
Portanto prefiro escrever na mão ou usar engenharia reversa no banco de dados para poupar um pouquinho de digitação.
danieldestro
Com annotations você evita o uso de XML, por outro lado depende do fonte para configurar o hibernate. Por isso escrevo na mão.
F
fabio.patricio
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.
]['s
Daniel_Quirino_Olive
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.
rodrigoy
Eu também… isso tem nome… TDAH…
Annotations também tem o schemaexport?
Com annotations é obrigatório o uso do EntityManager?
Tem algum tipo de mapeamento que o annotations não faz?
Rodrigo_Carvalho_Aul
rodrigoy:
Annotations também tem o schemaexport?
Com annotations é obrigatório o uso do EntityManager?
Tem algum tipo de mapeamento que o annotations não faz?
Sim
Não
Não que eu saiba…
[]'s
Rodrigo C. A.
rodrigoy
Rodrigo, meu xará… valeu pelas respostas… tenho mais uma dúvida então…
O que eu ganho usando o EntityManager? É só para dizer que estou usando EJB3?
Daniel_Quirino_Olive
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).
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.
drix
:lol: Prefiro Hibernate / Annotations
Com a vantagem de não me preocupar com os XML.
A
andre_salvati
Só para concluir, o Jboss encapou o Hibernate como solução de persistência.
fredbh
Pessoal… como faço pra usar o schemaexport usando annotations ?
valew
brigadao
marcelomartins
Annotations
A questão não é simplesmente onde vai ficar a configuração. Com o annotations é muito mais fácil
ivanrsilva
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)?