2015-01-09 21 views
6

arasındaki fark nedir? Cevabı aradım ama düzgün alamadım. ilişkisinde FetchType.EAGER ayarlandığında CascadeType.ALL, cascade = CascadeType.REMOVE, orphanRemoval arasındaki fark nedir? Kayıtları silerken bir sorun yaşadım. Ben Çalışan kaydı silmek çalıştığında bunu bana herhangi istisna gösteren değildi ve kayıt deleteing değildi,CascadeType.ALL, cascade = CascadeType.REMOVE ve orphanRemoval

@OneToMany(cascade = CascadeType.ALL, mappedBy = "companyEntity", fetch = FetchType.EAGER) 
Set<EmployeeEntity> employeeEntities; 

aşağıdaki kullandık. Ancak CascadeType.ALL'u CascadeType.REMOVE olarak değiştirdiğimde çalışıyordu. Neden CascadeType.REMOVE ile CascadeType.ALL ile çalışmıyor?

cevap

2

This sorunuzun kısmını açıklıyor);

önceden basit bir açıklama için teşekkür ederiz.

'OrphanRemoval = true' iki ayar arasında 'CascadeType.REMOVE'

fark çocuğu kaldırarak tepki olarak üst birimi tarafından işaret koleksiyondan nesneleri Vs.

Eğer yemenRemoval = true belirtilmişse, kaldırılan adres örneği otomatik olarak kaldırılmış . Yalnızca cascade = CascadeType.REMOVE belirtilmişse hiçbir ilişki kaldırılmıyor çünkü bir ilişki kaldırılıyorsa, işlemi kaldırılmıyor.

İlgili konular