2

我在 Hibernate 中有这种关系:

    n      1
A   ------->   B

从 A 到 B中的级联类型@OneToMany不是 CascadeType.PERSIST,不能这样。从@ManyToOneB 到 A 也没有 CascadeType.PERSIST。

现在我有一个新的非持久化 A 引用一个新的非持久化 B 的情况,该新的非持久化 B 指的是非持久化的 A。

当然,坚持 A 会导致异常,即 A 指的是“空或瞬态实例”B。预先持久化 B 会导致同样的错误,因为 A 没有持久化。

我该如何解决这个问题?我可以指定一次性级联持久性吗?

4

1 回答 1

1

如果您没有在one-to-many部件上设置任何级联,我能想到的唯一方法是首先创建并持久化 A.. 然后您可以创建 B 并将其添加到持久化的 A 中。

您不想在这种双向关系中设置级联的任何特殊原因?

于 2011-02-16T16:02:12.007 回答