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

时间:2011-03-01 17:12:35

标签: java hibernate cascade

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

但我怀疑:

我遇到这种情况:

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

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

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

这可能吗?

2 个答案:

答案 0 :(得分:14)

请参阅hibernate documentation,该问题非常明确。例如,您可以使用例如

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

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

答案 1 :(得分:1)

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

@Cascade(CascadeType.SAVED_UPDATE)

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