Bacana. Só mais uma coisa. Parece que vc está usando as entidades para receber os valores no endpoint. Com o tempo, vc vai ver que isso não é uma boa prática, pois deixa seu código muito amarrado e difícil e fazer manutenção.
O melhor seria ter uma classe específica para receber esses dados, por exemplo:
public class CriarProfissionalCommand {
private Long id;
private String nome;
// todos os outros campos
}
E, a partir dessa classe, vc iria montar as entidades para poder gravar no banco.