Hibernate ManyToOne ForeignKey Nula

Pessoal, sou iniciante em mapeamento objeto relacional e gostaria de uma ajuda de vocês.

Tenho o seguinte cenário. Um objeto profissional que possui um estado civil. Só que este estado civil pode ser nulo, não é obrigatório. Tentei mapear da seguinte maneira:

	@ManyToOne(cascade=CascadeType.PERSIST)
	@JoinColumn(name="idEstadoCivil")
	private EstadoCivil estadoCivil;

Quando tento cadastrar no banco com um estado civil existente tudo bem, porém quando tento cadastrar com um estado civil nulo ocorre o seguinte erro:

Alguém poderia me ajudar, estou um pouco perdido.

Muito Obrigado

Não sei se te ajuda

mas uma das anotações que vc usa pra mapear os campo tem um atributo nullable, ai é só setar true

Zoren, já tentei essa possibilidade, porém o erro continua o mesmo. O que parece é que o hibernate tem dificuldades em tratar um atributo da minha classe quando este é nulo, mesmo que eu tenha interesse que isso aconteça.

[quote=zoren]Não sei se te ajuda

mas uma das anotações que vc usa pra mapear os campo tem um atributo nullable, ai é só setar true

[/quote]

quando vc dá um cascade type PERSIST, vc está falando que na hora de persistir ele gravaria a entidade que está sendo gravada e o relacionamento em questão. A sintaxe correta é:

@ManyToOne @JoinColumn(name="<nome da coluna>", referencedColumnName="<nome da coluna que referencia>") private EstadoCivil estadoCivil;

e não esqueça que na classe EstadoCivil vc tbm tem que fazer um relacionamento @OneToMany para essa classe.

Obrigado, ralphsilver, vou testar.

[quote=ralphsilver]quando vc dá um cascade type PERSIST, vc está falando que na hora de persistir ele gravaria a entidade que está sendo gravada e o relacionamento em questão. A sintaxe correta é:

@ManyToOne @JoinColumn(name="<nome da coluna>", referencedColumnName="<nome da coluna que referencia>") private EstadoCivil estadoCivil;

e não esqueça que na classe EstadoCivil vc tbm tem que fazer um relacionamento @OneToMany para essa classe.[/quote]

Eae thiago, funcionou?? conseguiu fazer com que ele receba o nulo no teu relacionamento??

[quote=thiago_algo]Obrigado, ralphsilver, vou testar.

[quote=ralphsilver]quando vc dá um cascade type PERSIST, vc está falando que na hora de persistir ele gravaria a entidade que está sendo gravada e o relacionamento em questão. A sintaxe correta é:

@ManyToOne @JoinColumn(name="<nome da coluna>", referencedColumnName="<nome da coluna que referencia>") private EstadoCivil estadoCivil;

e não esqueça que na classe EstadoCivil vc tbm tem que fazer um relacionamento @OneToMany para essa classe.[/quote][/quote]