Professor, queria uma ajuda... Estou fazendo um exemplo para estudo. Tenho a entidade produto e compra. na entidade produto eu coloquei a compra, para eu saber que tais produtos seriam de determinada compra que o usuario fez. E em compra eu tenho uma lista de produtos.
O Relacionamento ficou assim.
Produto:
@ManyToOne
@JoinColumn(name = "id_compra")
private Compra compra;
Compra:
@OneToMany(mappedBy = "compra")
private List<Produto> produtos = new ArrayList<>();
Até ai tudo certo.
No banco na tabela Produtos ficoi assim:
id nome preco quantidade id_compra
'1', ' Arroz', ' 10.58', 5', NULL
'2', 'Feijao', '14.87', '3', NULL
O que eu quero fazer ao salvar a compra e associar essa compra aos produtos. Ai que eu to apanhando kk
No controller fiz mais ou menos assim
@PostMapping
@Transactional
public ResponseEntity<CompraDto> cadastrar(@RequestBody @Valid CompraForm form, UriComponentsBuilder uriBuilder) {
Compra compra = form.converter(mercadoRepository, produtoRepository);
compraRepository.save(compra);
//Compra compraId = compraRepository.getOne(compra.getId());
URI uri = uriBuilder.path("/compras/{id}").buildAndExpand(compra.getId()).toUri();
return ResponseEntity.created(uri).body(new CompraDto(compra));
}
No CompraForm
public Compra converter(MercadoRepository mercadoRepository, ProdutoRepository produtoRepository) {
Mercado mercado = mercadoRepository.findByNome(nomeMercado);
List<Produto> produtos = produtoRepository.findAll();
return new Compra(nome, valor, data, mercado, produtos);
}
Pode me da algum norte professor, ia ser massa. Enquanto isso vou tentando, abraços.