休眠:如何在注释中使用级联?

2022-09-04 20:31:52

如何在休眠状态下使用级联和注释?

但我仍然有一个疑问:

我有这样的情况:

public class Package(){
  @OneToOne(cascade=CascadeType.PERSIST)
  private Product product;

  @OneToOne(cascade=CascadeType.PERSIST)
  private User user;
  ..
}

当我尝试时,发生错误。我不想保存产品和包装。我只想初始化并将它们设置为我的包对象。session.save(package)

这可能吗?


答案 1

请参阅休眠文档,该文档对此问题非常清楚。例如,您可以使用例如,

@Cascade(CascadeType.PERSIST)
private List<Object> obj;

@OneToMany(cascade = CascadeType.PERSIST)
private List<Object> obj;

答案 2

如果您使用休眠本机API,那么您应该使用休眠的注释进行级联,它是:

@Cascade(CascadeType.SAVED_UPDATE)

然后你调用 save() 方法,但使用你的注释,你应该调用 JPA 的方法 persist()


推荐