Relacionamento Null

Estou querendo uma relacionamento que poderá ser nulo.
Quando crio a base no SqlServer o campo é criado como “null”, mais quando é no postgre o campo é criado como “not null”.

Como proceder?

//1º Tentativa
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_objeto", nullable = true, insertable = true, updatable = true)
@ForeignKey(name = "fk_casa_objeto")
private Objeto objeto;

//2º Tentativa
@ManyToOne(fetch = FetchType.LAZY, optional = true)
@JoinColumn(name = "id_objeto", nullable = true, insertable = true, updatable = true)
@ForeignKey(name = "fk_casa_objeto")
private Objeto objeto;

//3º Tentativa
@Basic(optional = true)
@ManyToOne(fetch = FetchType.LAZY, optional = true)
@JoinColumn(name = "id_objeto", nullable = true, insertable = true, updatable = true)
@ForeignKey(name = "fk_casa_objeto")
private Objeto objeto;

cara,

em anotação vc nao tem como fazer isso nao.
Ou vc muda isso na mao ou deixa na base de uma forma unica, ou null ou not null.

t+

sera um problema do postgre então ?

ha ta,

vc pode modificar isso no postgres, so da um alter table

t+

se voce tira o nullable = true, tambem cria o campo not null?

Voce esta usando JPA 2?

Se você estiver usando JPA…

Basta usar a anotação:

@Basic(optional = false)

Ex:

.
.
.

@Basic(optional = false)
String nome;
@Basic(optional = false)
Integer idade;

.
.
.

Quando o jpa criar a tabela essas colunas estarão como notnull