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
hibernate中的@Fetch注释是什么? @OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER,orphandremovation=true) @Fetch(FetchMode.SUBSELECT) @JoinColumn(name=“ORU\u OAUTH\u ID”,nullable=false) @订购人(“ORU_订单”) 私有列表acceptedReturnUrls; 在这段代码中,我想了解@Fetch(FetchMode.SUBSELECT)的作用 孤儿删除和CascadeType.DELETE之间有什么区别 如果这 我可以帮你。 用于CascadingType.DELETE和删除_Hibernate_Jpa_Orm - Fatal编程技术网

hibernate中的@Fetch注释是什么? @OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER,orphandremovation=true) @Fetch(FetchMode.SUBSELECT) @JoinColumn(name=“ORU\u OAUTH\u ID”,nullable=false) @订购人(“ORU_订单”) 私有列表acceptedReturnUrls; 在这段代码中,我想了解@Fetch(FetchMode.SUBSELECT)的作用 孤儿删除和CascadeType.DELETE之间有什么区别 如果这 我可以帮你。 用于CascadingType.DELETE和删除

hibernate中的@Fetch注释是什么? @OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER,orphandremovation=true) @Fetch(FetchMode.SUBSELECT) @JoinColumn(name=“ORU\u OAUTH\u ID”,nullable=false) @订购人(“ORU_订单”) 私有列表acceptedReturnUrls; 在这段代码中,我想了解@Fetch(FetchMode.SUBSELECT)的作用 孤儿删除和CascadeType.DELETE之间有什么区别 如果这 我可以帮你。 用于CascadingType.DELETE和删除,hibernate,jpa,orm,Hibernate,Jpa,Orm,级联删除 用CascadeType.REMOVE(或CascadeType.ALL)标记参考字段, 其中包括删除)指示应执行删除操作 自动级联到该实体引用的实体对象 字段(集合可以引用多个实体对象 字段): 孤立删除 JPA2支持一种附加的、更激进的删除级联模式,可以使用 @OneToOne和@OneToMany注释: @Entity class Employee { : @OneToOne(cascade=CascadeType.REMOVE) private Add

级联删除

用CascadeType.REMOVE(或CascadeType.ALL)标记参考字段, 其中包括删除)指示应执行删除操作 自动级联到该实体引用的实体对象 字段(集合可以引用多个实体对象 字段):

孤立删除

JPA2支持一种附加的、更激进的删除级联模式,可以使用 @OneToOne和@OneToMany注释:

@Entity
class Employee {
     :
    @OneToOne(cascade=CascadeType.REMOVE)
    private Address address;
     :
}
差异:-

这两种设置之间的区别在于对断开关系的响应。例如,在设置 地址字段为null或另一个地址对象

  • 如果指定OrphanRemoving=true,则断开连接的地址实例将自动删除。这对清理很有用 不应在没有 来自所有者对象(例如雇员)的引用

  • 如果仅指定了cascade=CascadeType.REMOVE,则不会采取自动操作,因为断开关系不是移除 手术

(级联删除和删除是同义词)


从。

我个人不喜欢孤儿删除,如果删除操作是显式的,代码通常更容易阅读,并且可以避免额外的开销(JPA必须遍历才能发现孤儿)。非常感谢,这真的很有帮助。这不完全是真的-
cascade=CascadeType.REMOVE
对db有影响-它会删除外键。如果没有行动,它会有什么意义?
@Entity
class Employee {
     :
    @OneToOne(cascade=CascadeType.REMOVE)
    private Address address;
     :
}
@Entity
class Employee {
     :
    @OneToOne(orphanRemoval=true)
    private Address address;
     :
}