Hibernate - 允许引用未保存的瞬态实例

时间:2013-03-05 15:51:19

标签: hibernate

我正在使用Hibernate来保存与其他表有关系的表的记录,但我需要允许空引用,而不保存子对象。

这种情况:A类有相关的对象b和c,当我保存A实例时,我想保存b和c的空引用。

表结构如下:

id (PK) | id_tr_inner_costs | release_id | requirement_id | task_id | hours | total_cost

requirement_id和/或task_id可以为null,并且应该在这种情况下设置。

有可能吗?

由于

1 个答案:

答案 0 :(得分:0)

如果在保存时引用为空,则Hibernate会将这些ID设置为null。所以像这样:

A instanceOfA = ...;
instanceOfA.setRelease(null);
instanceOfA.setTask(null);
session.save(instanceOfA);

会导致您在A表格中有一行NULLrelease_id都有task_id

Hibernate docs

中详细说明了这一点
  

除了集合之外,所有内置的Hibernate类型   支持null语义。

即,如果Java中的某些内容为null,那么它在数据库中将为null。