java - Hibernate - 设置级联只持续一个 session

标签 java hibernate jpa cascade persist

我在 Hibernate 中有这个关系:

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

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

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

持久化 A 会导致异常,当然,A 指的是“空或 transient 实例”B。预先持久化 B 会导致相同的错误,因为 A 未持久化。

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

最佳答案

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

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

关于java - Hibernate - 设置级联只持续一个 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5018522/

相关文章:

java - 每个搜索 cassandra lucene 索引多个过滤器

java - 从给定 URL 下载所有图像并将其保存到桌面无法完全正常工作

javax.persistence 注解和继承

java - 如何使用 hibernate 通过包含空值的嵌入式示例进行查询?

jpa - @PostRemove 是否退出交易?

java - JPA 不坚持我的类(class)

java - 在java中写入csv文件

java - 游戏编程中的类设计

java - 使用 Quarkus 和 Hibernate 通过 AttributeConverter 将 JSON 更改持久保存到数据库

java - Spring Boot 测试数据库初始化运行两次