Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 6 da Aula 3 - Integração do JPA com Pool e DataSource

Na empresa onde trabalho usamos EJB mas não declaramos as entidades no persistence.xml , entretanto já participei de projetos onde o persistence.xml exigia que declarasse mos as entitys exatamente como na aula atraves da tag class, porque isso ocorre? oque torna a declaração das entidades ser obrigatórias no persistence? porque na configuração dos projetos da empresa não foi preciso declarar lás?

1 resposta
solução!

Oi Ricardo,

O Hibernate, como implementação do JPA usada no Wilfly, escanea as suas classes procurando entidades. Por isso vc não precisa configurar o elemento no persistence.xml.

Pela especificação JPA, rodando dentro de um ambiente JavaEE (Wildfly), o provedor (Hibernate) precisa fazer o scan. Dentro de um ambiente JavaSE apenas, o provedor não é obrigado, no entanto o Hibernate sempre escanea.

O problema do scan é que ele só funciona se o persistence.xml e as entidades estão no mesmo JAR. Se vc separa essas partes, vc é obrigado de declarar as entidades explicitamente no xml. Por isso, muita gente coloca de cara as entidades no persistence.xml. Ok?

abs