Pessoal,
No JPA, o mapeamento é feito apenas através de Annotations? Não posso criar um arquivo xml de mapeamento, como no Hibernate?
Pessoal,
No JPA, o mapeamento é feito apenas através de Annotations? Não posso criar um arquivo xml de mapeamento, como no Hibernate?
vc tem algum motivo especial para usar xml? pq anotação é muito simples de se usar.
segue o link, http://docs.jboss.org/hibernate/core/3.3/reference/en/html/xml.html
t+
Quero minhas classes POJO apenas
entao, pq vc não faz com anotação?
com anotações insiro código de mapeamento na classe. Posso estar errado, mas em termos de portabilidade, não seria melhor um arquivo de mapeamento? Se eu quiser mudar meu provider de orm, com anotação, precisaria alterar a classe, com arquivo de configuração, nada faria.
vc está enganado sobre isso, o que vc vai fazer no xml é o mesmo que vc vai fazer com anotação e se vc mudar de provider, se ele implementar JPA, não haverá necessidade de mudar nada.
t+
Ok, obrigado alissonvla.
Indaguei a questão pois trabalho também com o Fluent NHibernate, e nele, crio classes ou arquivos separados para mapear as classes de domínio, deixando-as sem código de mapeamento. Faço isto, pois, ao modificar o provider para, por exemplo, o Subsonic, se as classes estiverem com códigos de mapeamento, terei problemas.
Isto não ocorre quando troco providers em Java?
Colocar código de mapeamento em classes me preocupa um pouco…
nao, pq na maioria os framework ORM usam JPA como implementação, entao vc nao teria problema. por exemplo, Hibernate, EclipseLink.
t+
E no caso de portabilidade imagine que você tenha um atributo que vc mapeou em sua classe como not null:
@Column(nullable=false)
E quando você vai subir em produção você ve que tem que ser null, você pode escrever em xml que a configuração será null.
E pronto. sua aplicação funcionará numa boa. [=