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