相关疑难解决方法(0)

Hibernate级联:对象引用未保存的瞬态实例 - 在刷新之前保存瞬态实例

@Entity
@Table(name = "parent")
public final class Parent extends Base {

@OneToOne(cascade = CascadeType.PERSIST, fetch = FetchType.EAGER)
private Person person;
Run Code Online (Sandbox Code Playgroud)

并做(除其他事项外)这个:

Parent parent = new Parent();
Person person = new Person();
parent.setPerson(person);
session.save(parent);
Run Code Online (Sandbox Code Playgroud)

我得到提到的例外?

我以前手动需要调用session.save(person)吗?我是否必须在子类定义中添加级联类型注释(它引用父类)?

或者我错过了其他明显的东西?

我不想使用CascadeType.ALL,因为父母被删除我想保留人(孩子).

两个实体/表都扩展了一个公共Base表:

@MappedSuperclass()
public abstract class Base {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

    public Integer getId() {
    return id;
    }
Run Code Online (Sandbox Code Playgroud)

这种级联类型的效果是否需要?

java orm hibernate

1
推荐指数
1
解决办法
4万
查看次数

标签 统计

hibernate ×1

java ×1

orm ×1