Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/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 如果;“删除”为“真”;如果设置了,并且父FK列设置为Not Null为false,则当子项被持久化时,会将其删除吗?_Jpa - Fatal编程技术网

Jpa 如果;“删除”为“真”;如果设置了,并且父FK列设置为Not Null为false,则当子项被持久化时,会将其删除吗?

Jpa 如果;“删除”为“真”;如果设置了,并且父FK列设置为Not Null为false,则当子项被持久化时,会将其删除吗?,jpa,Jpa,让我从以下位置复制我的参考: 关系中的孤儿移除 当从关系中删除一对一或一对多关系中的目标实体时,通常需要将删除操作级联到目标实体。这样的目标实体被视为“孤立实体”,并且“孤立移除”属性可用于指定应移除孤立实体。例如,如果订单有多个行项目,并且其中一个已从订单中删除,则删除的行项目将被视为孤立项。如果将删除设置为true,则从订单中删除行项目时将删除行项目实体 @OneToMany和@oneToOne中的孤儿移除属性采用布尔值,默认情况下为false 以下示例将从关系中删除孤立客户实体时,将删除操

让我从以下位置复制我的参考:

关系中的孤儿移除 当从关系中删除一对一或一对多关系中的目标实体时,通常需要将删除操作级联到目标实体。这样的目标实体被视为“孤立实体”,并且“孤立移除”属性可用于指定应移除孤立实体。例如,如果订单有多个行项目,并且其中一个已从订单中删除,则删除的行项目将被视为孤立项。如果将删除设置为true,则从订单中删除行项目时将删除行项目实体

@OneToMany和@oneToOne中的孤儿移除属性采用布尔值,默认情况下为false

以下示例将从关系中删除孤立客户实体时,将删除操作级联到该孤立客户实体:

@OneToMany(mappedBy="customer", orphanRemoval="true")
public List<Order> getOrders() { ... }
@OneToMany(mappedBy=“customer”,orphan=“true”)
公共列表getOrders(){…}
因此,它建议如果我们有
孤立删除=true
,当我们删除
@OneToOne
@OneToMany
的关系时,孤立将被删除。

现在,如果在child表中,parent的FK列被设置为
NN=false
,或者,我们可以在不指明其父的情况下插入child,插入时没有关系。那么,是否可以成功插入子对象


或者,换句话说,我是否可以理解,
orphanRemoving=true
禁止DB中没有父级的任何子级?

将创建行,因此?插入/持久化操作不必对删除执行任何操作。它不会自动将相应的子实体插入反向集合,该反向集合包含关系反向端的子实体列表,除非您自己手动显式地使该关系双向,而JPA提供者对此不负责。此外,
删除
忽略基础数据库中的表关系。因此,您的意思是,当我们插入时,该属性不起任何作用?是的。您必须自己手动将所有者添加到反向集合中。(JPA提供商不必维护双向关系,尽管某些提供商可能支持此功能-JPA规范中未指定此功能)。好的,请回答您的意见,我接受。我理解你的意思是“是的,它什么都不做。”行将被创建,所以?插入/持久化操作不必对删除执行任何操作。它不会自动将相应的子实体插入反向集合,该反向集合包含关系反向端的子实体列表,除非您自己手动显式地使该关系双向,而JPA提供者对此不负责。此外,
删除
忽略基础数据库中的表关系。因此,您的意思是,当我们插入时,该属性不起任何作用?是的。您必须自己手动将所有者添加到反向集合中。(JPA提供商不必维护双向关系,尽管某些提供商可能支持此功能-JPA规范中未指定此功能)。好的,请回答您的意见,我接受。我理解你的意思是“是的,它什么也没做。”