Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Não inclui a nova entidade Movimentacao e ainda assim o JPA persistiu-a...

Boa noite!

Fiz o exercício a partir do item 2 da aula e esqueci-me de incluir a nova entidade Movimentação em src/META-INF/persistence.xml, assim como em WEB-INF/persistence.xml.

Mesmo assim, ao executar a classe de testes todas as entidades foram devidamente persistidas.

O fato da entidade Movimentacao ter relacionamento com a Conta declarada poderia ser a razão de ter funcionado? Neste caso se usasse uma entidade sem relacionamento com a Conta deveria ter problemas?

TIA,

WB::

2 respostas

O Java EE possui uma ferramenta chamada "Provider Scan", que escaneia todas as suas anotações e identifica as suas entidades automaticamente, apesar de ser uma boa prática o mapeamento delas no persistence.

Já no Java SE isso não ocorre, você precisa especificar as entidades sempre no seu persistence.

Existe uma propriedade chamada "exclude-unlisted-classes", que recebe true ou false, e com ela você pode controlar esse comportamento (por padrão, ela vem como true no java ee).

Nas configurações do Eclipse também existe essa opção, na sessão JPA.

[]'s

solução

Bom dia Wilson, na verdade isso deu certo porque você está usando a implementação do Hibernate para implementar a JPA. Assim, o framework Hibernate não exige que suas entidades sejam mapeadas no arquivo xml, porém se algum dia fora trocar de implementação terá um erro e precisara declarar todas as entidades.

Espero ter ajudar, abraços