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和删除
级联删除 用CascadeType.REMOVE(或CascadeType.ALL)标记参考字段, 其中包括删除)指示应执行删除操作 自动级联到该实体引用的实体对象 字段(集合可以引用多个实体对象 字段): 孤立删除 JPA2支持一种附加的、更激进的删除级联模式,可以使用 @OneToOne和@OneToMany注释: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
@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;
:
}