如何在我将持久保存实体的同一事务中刷新缺少实体的引用?现在我收到此错误“没有给定标识符的行存在:[此实例尚未作为数据库中的行存在#27565]”。我知道实体在提交之前没有从数据库中找到,但是我需要那些缺少的引用来为该实体添加acl条目。
答案 0 :(得分:0)
由于您没有提供实体模型,我将编写一个示例。您不需要刷新任何内容,只需将子项添加到父项并保存子项即可。
@Transactional
public void createNewChild(Parent parent){
Child child = new Child();
child.setParent(parent);
parent.getChildren.add(child);
childDao.persist(child);
}
父母的模型:
@Entity
public class Parent{
private List<Child> children = new ArrayList<>();
public List<Child> getChildren(){
return this.children;
}
public void setChildren(List<Child> children){
this.children = children;
}
}
如果你在Parent上设置了@Cascade属性来保持和save_update你可以保存父。