1
resposta

A anotação @OneToMany

Boa noite, Rodrigo!

Com respeito a anotação @OneToMany, usada na classe Pedido sobre o atributo private Listitens = new ArrayList<>(); Pergunto se esta anotação é obrigatória?

A classe Produtos, por exemplo, não tem a anotação @OneToMany em relação a ItemPedido.

A anotação seria apenas para facilitar a persistência de pedido e ItemPedido no banco de dados, que seria feita ao mesmo tempo? Isso porque, sem a anotação, eu teria que persistir a instância de Pedido, passar a referência para para ItemPedido e persistir ItemPedido.

Com a anotação @OneToMany(mappedBy = "pedido", cascade = CascadeType.ALL), eu preciso apenas persistir a instância de Pedido que a instância de ItemPedido também é persistida pela jpa.

Essa facilidade na persistência seria a razão da anotação @OneToMany ou teria mais alguma coisa que estou perdendo aqui?

Obrigado, desde já

1 resposta

Oi Thiago,

Somente é obrigatório mapear o lado que tem o relacionamento ManyToOne, pois é nessa tabela que vai ficar a chave estrangeira no banco de dados.

Mapear o lado OneToMany é apenas para simplificar mesmo, conforme você mencionou, tanto na hora de persistir, quanto na hora de carregar os registros.

Bons estudos!