Tenho uma classe Usuario e outra Contato a qual possuem um relacionamento entre as mesmas. Esta tudo funcionando corretamente a questão que eu preciso que somente seja gravado um contato se houver algum atributo de contato preenchido, mas se o usuário preencher somente os atributos obrigatórios de usuário e descartar o preenchimento de contato preciso que na tabela usuário fique com NULL e não gerando um Contato apenas com seu ID.
Mapeamento do relacionamento.
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "contact_id")
private Contato contato;