por que nao usamos o OnetoMany na classe categoria ? se na classe produtos usamos ManyToOne?
por que nao usamos o OnetoMany na classe categoria ? se na classe produtos usamos ManyToOne?
Olá, João! Tudo bem? Espero que sim!
O uso de @OneToMany
ou @ManyToOne
depende da perspectiva que estamos analisando. No caso do exemplo da aula, estamos olhando sob a perspectiva da classe Produto
, onde um produto pertence a uma categoria, mas uma categoria pode ter vários produtos. Assim, usamos @ManyToOne
na classe Produto
para representar essa relação.
No entanto, se estivéssemos na classe Categoria
e quiséssemos representar todos os produtos que pertencem a uma categoria específica, aí sim usaríamos @OneToMany
. Isso criaria uma lista de produtos na classe Categoria
.
Por exemplo, na classe Categoria
teríamos algo assim:
@OneToMany(mappedBy = "categoria")
private List<Produto> produtos;
O mappedBy
é usado para indicar o campo que está sendo usado para o mapeamento do lado "muitos" (neste caso, o campo categoria
na classe Produto
).
No entanto, isso não foi feito na aula porque nem sempre queremos carregar todos os produtos de uma categoria quando carregamos a categoria. Isso pode ser ineficiente se tivermos muitos produtos para uma categoria.
Caso tenha dúvidas, fico à disposição!
Espero ter ajudado.
Abraços e bons estudos!
muito bem explicado, parabéns