【问题标题】:Hibernate - Setting a cascade persist just for one session休眠 - 设置级联仅持续一个会话
【发布时间】:2011-06-28 11:01:10
【问题描述】:

我在 Hibernate 中有这个关系:

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

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

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

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

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

【问题讨论】:

  • 您使用哪个版本的 Hibernate 以及您的类是如何映射的?
  • Hibernate 3.1,由 JPA 注释映射的类。

标签: java hibernate jpa cascade persist


【解决方案1】:

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

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

【讨论】:

  • 我不想设置级联,因为这是一个非常特殊的情况。
猜你喜欢
  • 1970-01-01
  • 2010-12-31
  • 1970-01-01
  • 2019-12-24
  • 1970-01-01
  • 1970-01-01
  • 2016-12-04
  • 1970-01-01
相关资源
最近更新 更多