Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa OrphanRemoving=true是否意味着级联删除_Jpa_Orm_Jpa 2.0 - Fatal编程技术网

Jpa OrphanRemoving=true是否意味着级联删除

Jpa OrphanRemoving=true是否意味着级联删除,jpa,orm,jpa-2.0,Jpa,Orm,Jpa 2.0,考虑一对多的关系。OrphanRemoving=true是否意味着需要删除级联 @OneToMany(cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH}, orphanRemoval = true) @JoinColumn(name = "parent_id", referencedColumnName = "id") private Set<Child> child; @OneToMany(

考虑一对多的关系。OrphanRemoving=true是否意味着需要删除级联

@OneToMany(cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH},  orphanRemoval = true)
@JoinColumn(name = "parent_id", referencedColumnName = "id")
private Set<Child> child;
@OneToMany(cascade={CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REFRESH},orphanRemoving=true)
@JoinColumn(name=“parent\u id”,referencedColumnName=“id”)
独生子女;
如果我在未事先清除集合的情况下删除了具有现有子级的父级,会发生什么


FK约束故障或子项删除?

根据规范

指定为OneToOne或OneToMany支持的关联使用 删除选项的一部分

当删除生效时,以下行为适用:

  • 如果作为关系目标的实体从关系中删除(通过将关系设置为null或删除 实体),删除操作将被删除 应用于孤立的实体。将应用删除操作 在冲洗操作时。孤儿删除功能是 适用于母公司私人“拥有”的实体 实体。便携式应用程序必须不依赖于 特定的删除顺序,并且不得重新分配具有 被另一段关系孤立或试图继续 信息技术如果孤立的实体是分离的、新的或删除的实体 实体,删除的语义不适用

  • 如果删除操作应用于托管源实体,则删除操作将级联到中的关系目标 根据第3.2.3节的规定,(因此 需要为关系指定cascade=REMOVE)[20]

这意味着,如果删除关系的父级,则级联删除将应用于集合中作为关系目标的对象,因此答案为“是”,如果设置集合是否为null,则表示级联。如果不重要,则删除。这意味着该关系的模型中不允许存在孤立项