Pessoal, boa noite.
Estou construindo uma API em Java, utilizando Spring e Hibernate. Minha situação é a seguinte:
Tenho uma tabela com 3 foreign keys, many to one, as quais podem receber um valor null. O problema é o seguinte:
Quando eu vou salvar algum dado nessa tabela e envio um id de valor nulo pra minha API, tenho uma dúvida de como trata-lôs... Pois, na minha model, eu sempre tenho que setar uma instância da model da foreign key, certo? Ex: Releases -> Users
A tabela releases possui um user_id, então, eu tenho na minha model Release, eu tenho um "private User user;" e devo fazer um setUser, caso eu queira salvar a foreign key, então, quando eu for salvar um release, eu devo antes, pesquisar seu registro no banco, certo? Ex: User user = userRepository.findById(getUserId()).get(); release.setUser(user);
Mas e caso o user_id venha nulo da minha API? como eu procedo quanto a isso? pois, caso venha nulo, vai dar um erro na função findById. Teria eu, que encher o código de ifs verificando se o valor está vazio antes de salva-lô? acho que não seria o ideal... Pensei que meu front poderia enviar um valor 0 caso o user_id tivesse que ser nulo, dai ele não pesquisaria um registro, mas daria um problema na função get() ao tentar encontra-lô.
Então minha dúvida é a seguinte, qual a melhor forma de tratar uma foreign key que possa ser vazia e possa vir com um valor nulo numa api Java?
Agradeço desde já.