2013-12-04 2 views
1

Я работаю с 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; 
} 

MyDelete код

@Override 
    public void delete(T classObj, Integer id) { 
     T entity = get(classObj, id); 
     if (entity != null) 
     getHibernateTemplate().delete(entity); 
    } 

MyLogic

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

он удаляется из childtable в то же время удален родительского объекта таблицы и любой один помочь мне ..

ответ

0

Атрибут каскада установлено значение cascade=CascadeType.ALL, что операция (сохранение, удаление, обновление, выселение, блокировка, замена icate, merge, persist) будет каскадом для отображения.

CascadeType=ALL означает, что если вы выполняете операцию, все операции (сохранение, удаление, обновление, выселение, блокировка, репликация, слияние, сохранение) здесь, это будет каскадно для всех отношений. Если вы удалите объект, будут удалены и другие объекты.

Если вам не нужна каскадная операция, установите id None cascade=CascadeType.NONE, поэтому другой объект не будет выполнен.

Вы должны выбрать подходящий тип каскада, который необходим.

См. Документ для более каскадных типов.

Смотрите также

Enum CascadeType

+0

Привет Спасибо за replay.but я добавил каскад = CascadeType.ALL в мой родитель table..can вы сказать мне, как это работает – user2963481

+0

Спасибо, что он работает для меня – user2963481

+0

См. Мое редактирование. Я предлагаю вам установить 'cascade = CascadeType.NONE' пока. Однако вы должны выбрать правильный каскадный атрибут по мере необходимости. – erencan

Смежные вопросы