Boa tarde. Gostaria de entender como resolver a seguinte questão:
No projeto que estou atuando, o Backend e Frontend estão apartados. Para persistir os dados estou utilizando o Hibernate e para controlar a conexão com o BD possuo um filtro que abre a conexão no inicio da request e encerra a mesma ao retornar a response.
Para descrever melhor minha dúvida, irei ilustrar um cenário com duas classes, sendo Usuario e Perfil onde, ao cadastrar um usuário novo ele deve ser relacionado a um perfil.
Exemplo das classes:
@Entity
public class Usuario{
   @Id
   private Long id;
   private String nome;
 
  @OneToOne
  @JoinColumn(name="id_perfil")
  private Perfil perfil;
}
@Entity
public class Perfil{
  @Id
  private Long id;
  private String nome;
}
O JSON recebido do Frontend para cadastrar usuário é:
{
	"nome":"usuario novo",
	"perfil":{
		"id":1
	}
}
O JSON retornado para o Frontend é:
{
	"nome":"usuario novo",
	"perfil":{
		"id":1
		"nome":null
	}
}
O correto seria retornar também o nome do perfil? Como eu posso fazer isso, se o commit() no BD é executado no momento da response. Ou, é correto o Frontend fazer uma nova request passando o ID do usuário criado, para que receba o objeto completo?