Como inserir uma Foreign Key nula em um registro via HIBERNATE no Eclipse

Boa tarde pessoal…

To com o seguinte problema: tenho uma tabela X que tem uma chave estrangeira que não é obrigatoria no banco (null), mais quando vou inserir um registro dessa tabela X no banco da erro…Analisei os acontecimentos do Hibernate e acho que ta setando 0 em vez de null no banco de dados e é por isso que dando esse erro ja que o 0 nao pertence a segunda tabela que me fornece a chave estrangeira…Se alguem puder me ajudar ficarei grato…

Posso vero o código da sua classe e a servlet ou o que esta utilizando para a regra?

segue as classes de mapeamento (hbm.xml):

–a coluna que chave estrangeira - trbcSeq

<many-to-one name="tipoReducaoBaseCalculo" class="br.sdg.principal.dominio.TipoReducaoBaseCalculoDTO" column="trbcSeq" not-null="false" cascade="all"/>

–a coluna que chave estrangeira - trbcSeq

[code] <set name="listaComportamentoTransferencia" inverse="false">
 	<key column="trbcSeq" not-null="false"/>
    <one-to-many class="br.sdg.suprimentos.produto.ComportamentoTransferenciaDTO"/>
 </set>[/code]

Observe que eu fiz uma dupla visibilidade…

E posso ver a classe ?

Na classe quando vou inserir, eu verifico se o meu objeto tem alguma coisa…se nao tiver eu seto ele como NULL…os outros codigos da classe não alteram em nada o funcionamento…RESUMINDAMENTE eu queria fazer com que o Hibernate no momento de inserir na minha tabela que recebe a chave estrangeira, inserisse apenas NULL no campo chave estrangeira…

Atualmente ele esta setando para 0 ao inves de aceitar null…

Qual o tipo de dado que esta utilizando como @id?

Primeiro,

Se um campo é chave, o valor é único e OBRIGATORIAMENTE NOT NULL…

Foreign Key tem que ser chave de uma outra tabela.

Logo, não é possível tu ter uma foreign key com valor NULL

Fernando

Esta enganado amigo, pode receber null sim…

Uma PK pode ser null?? não teria sentido…Posso estar enganado, mas Primary key é única e implicitamente NOT NULL.

Fernando

PK não pode ser null, primary key é obrigatório, mas você pode fazer o relacionamento entre uma tabela e outra, sem que a que a tabela que esta recebendo o relacionamento precise de um valor no campo obrigatoriamente.