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

Como decidir onde informar a cardinalidade?

Na aula foi declarado a card. @ManyToOne no atributo de relacionamento categoria: "muitos produtos para uma categoria", mas poderia ser feito na classe Categoria:

@OneToMany private Produto produto; ???

Caso positivo, teria alguma diferença? Como decidir a melhor abordagem?

1 resposta
solução!

Oi Ian,

Sempre será "obrigatório" declarar o lado que tem o @ManyToOne, pois é nessa tabela que está a chave estrangeira do relacionamento.

O lado com @OneToMany é opcional, e inclusive recomendado apenas em casos extremamente necessários, pois ao realizar esse mapeamento bidirecional é necessário tomar cuidado quando for relacionar as entidades para não gerar inconsistências.

Veja esse post que mostra o problema disso: http://blog.triadworks.com.br/jpa-por-que-voce-deveria-evitar-relacionamento-bidirecional

Bons estudos!