Olá, estou tendo problemas ao adicionar atributos através de um formulário. O problema é que ao salvar os dados no front-end os dados vão para suas respectivas tabelas. No caso, são duas. Uma tem que ter a chave primária de uma outra. Mas ao salvar não é possível adicionar a chave estrangeira de uma forma automática. Peço a ajuda de quem souber fazer isso.
O grande problema é que não sei inserir dois atributos em um formulário. Apenas um. Ou seja, ao inserir uma relação de chave estrangeira.
Aqui vai o meu Controller:
@Controller
public class ClienteController {
@Autowired
private ClienteRepository clienteRepository;
@SuppressWarnings("unused")
@Autowired
private PessoaRepository pessoaRepository;
@GetMapping("/formCliente")
public ModelAndView cadastrarClientes(Pessoa pessoa, Cliente cliente) {
ModelAndView mv = new ModelAndView();
mv.setViewName("Cliente/formCliente");
mv.addObject("cliente",new Cliente());
mv.addObject("pessoa",new Pessoa()); return mv;
}
@RequestMapping("/salvarClientes")
public ModelAndView salvarCliente(
@Valid Cliente cliente,
Pessoa pessoa,
Short codigo,
BindingResult br
) throws Exception {
ModelAndView mv = new ModelAndView();
if (br.hasErrors()) {
mv.setViewName("Cliente/formCliente"); mv.addObject("cliente");
mv.addObject("pessoa");
} else {
mv.setViewName("redirect:/clientes-adicionados");
pessoaRepository.save(pessoa);
clienteRepository.save(cliente);
}
return mv;
}
}
Esse é um trexo do meu front-enda onde eu chamo os objetos, Creio que seja nele que esta o o problema.
Acho que é quando chama, ao ultilizar o themeleaf.
Se quiserem que eu poste as classes poderei postar.