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??
tem sim, esta dando essa mensagem
(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
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.