[RESOLVIDO] Relacionamento não obrigatório. Hibernate + Spring + SQL Server

5 respostas Resolvido
javaspringhibernate
D

Bom Dia a todos,
estou desenvolvendo uma aplicação Java EE para estudo com Spring, Hibernate, Annotations e etc…
Em uma determinada tabela, tenho relacionamento com outras duas, porem esses relacionamentos não são obrigatório, quando um estiver preenchido o outro estará vazio, e vice e versa.

Essa e a Entidade:

private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@NotNull
@Column(name = "EMAI_ID")
private Integer emaiId;
@Size(max = 200)
@Column(name = "EMAI_NOME")
private String emaiNome;
@Size(max = 200)
@Column(name = "EMAI_EMAIL")
private String emaiEmail;
@Size(max = 1)
@Column(name = "EMAIL_TIPO")
private String emailTipo;
@JoinColumn(name = "FORN_ID", referencedColumnName = "FORN_ID")
@ManyToOne(optional = true)
private Fornecedores fornId;
@JoinColumn(name = "SOLI_ID", referencedColumnName = "SOLI_ID")
@ManyToOne(optional = true)
private Solicitantes soliId;

Dentro do log do apache não me retorna nenhum erro, porem não salva o registro…
Realizando o debug encontrei o erro no BindingResult conforme imagem abaixo:

Acredito eu, que seja por que ele esteja aguardando o soliId que seria o Id da próxima tabela.

Pensei que definindo como opcional, ele não retornaria o erro, mas não funcionou.

@JoinColumn(name = "SOLI_ID", referencedColumnName = "SOLI_ID")
    @ManyToOne(optional = true)
    private Solicitantes soliId;

5 Respostas

C

Ola,
O nome das colunas estão corretas?
pela imagem o stack mostra erro de conversao. ```Cannot convert value of type[java.lang.String] to requerid type [br.com.hjsystems.syswebchamados.model.entity.solicitantes] for property soliId: no matching editors conversion strategy found

D

Sim, estava correto, o campo da tabela havia sido criado errado…
Já realizei a correção, porem ainda persiste o erro…

C
Solucao aceita

Voce viu sobre o erro que te falei, quando voce vai salvar voce esta passando uma string, mas deveria ser um objeto.

D

Sim, vi sim, ainda estou tratando ele aqui pra ver se resolve, pelo que eu entendi, esta retornando uma string NULL, onde deveria vir o objeto Solicitante NULL, correto ??? Estou criando o SolicitantePropertyEditor, como criei no fornecedor… Ja retorno o resultado…

D

Era exatamente isso, quando criei o property editor para a classe solicitante, e retornei ele no POST, ele salvou mesmo quando NULL… Obrigado pela ajuda!!!

Criado 10 de julho de 2017
Ultima resposta 10 de jul. de 2017
Respostas 5
Participantes 2