1

我有一个场景:一个父类 Parent,它有一些简单的属性(int、String 等)和 2 组子项。设置儿童A;设置儿童B;

我可以为父 simpleSave(Parent p) 创建一个保存函数,它将仅保存/保留数据库中的父属性并具有一个将级联到其子级的函数 saveWithCascade(Parent p) 吗?

稍后编辑:保存我实际上是指更新。因为如果我知道只有一个属性或一组发生了变化,我不想让休眠对其他人做很多选择只是为了检查它们是否改变了

4

2 回答 2

0

是的你可以。假设您已正确定义了休眠映射。你可以打电话session.save(Parent)

当你在拯救一个孩子时,你可以在你的方法中做一些这样的事情

Parent p = new Parent();
Child c = new Child();
p.addChild(c);
session.save(p);
session.flush();
session.save(c);
session.flush();

重要的是要确保孩子推动这种关系。您可以通过设置来做到这一点inverse = "true"

于 2010-05-20T20:33:02.280 回答
0

如果您将 Hibernate 配置为为给定关联级联特定操作,则无法禁用它。因此,唯一想要实现您想要的就是不要级联 PERSIST 和 MERGE 并在您的saveWithCascade()方法中手动执行所有操作。

于 2010-05-20T22:27:26.690 回答