Mapeamento Jpa Foken key Null

Gostaria de mapear um campo da minha tabela, que permitisse gravar a forenkey como Nullo

segue abaixo meu codigo

@JoinColumn(name = "participante_id", referencedColumnName = "id")
@ManyToOne
private Participante participante;

Em algumas situações, o participante vai vir preenchido e em alguns casos NÃO, como eu poderia mapear , para permitir que ele persistir no banco como NULL??

Obrigado

Evandro

O mapeamento é normal, acredito que não tem alteração nenhuma, basta não ter a coluna com restrição NOT NULL no banco de dados.

@Jonathan_Medeiros, no banco, a coluna não está nott null, se eu fizer um script com essa coluna Null, ela inclui normalmente

Acredito que deveria funcionar normalmente neste caso, está tendo alguma mensagem de erro?

tem sim, esta dando essa mensagem :slight_smile:
(javax.persistence.RollbackException) javax.persistence.RollbackException: java.lang.IllegalStateException:
During synchronization a new object was found through a relationship that was not marked cascade PERSIST:
br.com.xxxxx.model.cadastro.Participante { id: null

Tenta acrescentar o cascade na relação:

@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.MERGE)

Vai estourar exceção, afinal, o banco não aceita inclusão de valores nulos. Altere a tabela e remova a constraint.

Não tinha feito a leitura corretamente da sua resposta, desculpe.

Veja bem, se a coluna está definida como NÃO NULA (not null), nunca em hipótese alguma ela vai aceitar valores nulos, ou seja, sempre deverá existir um valor válido.

Resolução: altere a restrição da coluna no banco de dados de NOT NULL para NULL.