Opa boa noite! Chego na parte que eu realmente quero entender como funciona o relacionamento oneToMany e ManyToOne. Porque tenho no meu produto a tabela desse jeito.
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long codigo;
private String nome;
private Integer quantidade;
private Double preco;
private Double precoAVender;
@OneToMany
@JoinColumn(name = "fornecedor_codigo")
private List<Fornecedor> fornecedores = new ArrayList<Fornecedor>();
@OneToOne
@JoinColumn(name = "marca_codigo")
private Marca marca = new Marca();
Reparem que eu coloquei um OneToMany aqui no meu fornecedores porque a lógica pra mim é que sempre um produto pode ter varios fornecedores diferentes, ou seja varios fornecedores tem o mesmo produto! Mais fazendo dessa forma com essa anotação a minha tabela só vai ter a fk da marca e eu queria que no meu produto tivesse a fk da marca e do fornecedor, dessa forma não é possivel fazer? Quando coloca OneToMany sempre a outra tabela vai receber o lado "forte" da relação? Porque fiz desse jeito e oque aconteceu foi que na tabela fornecedor tem a fk do produto, mas queria ao contrario...
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long codigo;
private String nome;
private Integer quantidade;
private Double preco;
private Double precoAVender;
@OneToMany
@JoinColumn(name = "fornecedor_codigo")
private List<Fornecedor> fornecedores = new ArrayList<Fornecedor>();
@OneToOne
@JoinColumn(name = "marca_codigo")
private Marca marca = new Marca();
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long codigo;
private String celular;
private String nome;
private String email;
private String razaoSocial;
@ManyToOne
private Produto produto = new Produto();