当我删除一个子对象时,我的父对象是否也会在hibernate中被删除?

当我删除一个子对象时,我的父对象是否也会在hibernate中被删除?,hibernate,Hibernate,我正在使用Hibernate,当我删除我的子对象时,我的父对象也被删除了,请检查下面的代码 @Entity public class User { @Id @GeneratedValue @Column(name = "FLD_USER_ID") private Long userId; @OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER) private java.util.List<UserProfileEx

我正在使用Hibernate,当我删除我的子对象时,我的父对象也被删除了,请检查下面的代码

@Entity
public class User
{
     @Id
@GeneratedValue
@Column(name = "FLD_USER_ID")
private Long userId;
   @OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
private java.util.List<UserProfileEx> userProfileEx = new ArrayList<UserProfileEx();

}
 @Entity
  @Table(name="TBL_STD_USERPROFILEEX")
    public class UserProfileEx implements Serializable {
     @Id
 @GeneratedValue
 @Column(name="FLD_FIELD_ID")
 private Long userProfileExId;
    @ManyToOne
private UserProfile userProfile;
 }
MyLogic

 I have UserProfileEx object here with id=1
 Now I am calling my delete method like this
  delete(UserProfileExObj,1);

它从childtable中删除,同时删除父表对象以及任何一个help me.

级联属性设置为
cascade=CascadeType。所有
表示操作(保存、删除、更新、逐出、锁定、复制、合并、持久化)将级联到映射

CascadeType=ALL
意味着,如果您执行一个操作,它们都是操作(保存、删除、更新、逐出、锁定、复制、合并、持久化),在这里,它将级联到所有关系。如果删除对象,其他对象也将被删除

如果不需要任何级联操作,则设置id None
cascade=CascadeType.None
,这样其他对象就不会受到影响

您应该选择所需的适当级联类型

更多级联类型请参见文档

另请参见


您好,谢谢您的重播。但是我在父表中添加了cascade=CascadeType.ALL。您能告诉我它是如何工作的吗?请参阅我的编辑。我建议您设置
cascade=CascadeType。现在没有。但是,您应该根据需要选择适当的级联属性。@user2963481如果可以,请不要忘记接受答案。
 I have UserProfileEx object here with id=1
 Now I am calling my delete method like this
  delete(UserProfileExObj,1);