使用Hibernate使用分离的对象删除行和引用

时间:2011-05-03 08:37:23

标签: java hibernate jpa

我有一个带有@onetoone的对象A到对象B,所以对象A包含对象B的id的引用,我想删除数据库中的对象B,包括对象A的引用。我想知道什么是这是最合适的解决方案。我希望将对象A上的属性b设置为null,在我想要执行删除的那一刻,我的对象被分离。我已经尝试了几种解决方案,并且我已经看到了很多例外:-p

2 个答案:

答案 0 :(得分:1)

你尝试过这样的事吗?

ojbecttA.setB(null);
session.update(objectA);
session.delete(objectB);

在我看来,最恰当的方式是首先

  1. 通过将属性设置为null来解除对两个实体的关联,
  2. 然后删除您要删除的实体。

答案 1 :(得分:0)

除了基于Hibernate的解决方案之外,您还可以通过将外键声明为ON DELETE SET NULL来指示数据库自动执行此操作。