2013-04-01 15 views
8

Spring Data, JPA, Hibernate ve MySQL kullanıyorum. Etkinlik ve Kategori arasında bir çok ilişki var. Açıkçası, bir etkinliğin yalnızca bir kategorisi olabilir ve bir kategoriye birçok Etkinlik atanabilir. Sorun, Kategori'yi kaldırmaya çalıştığımda ortaya çıkar, eğer herhangi bir olay bu kategorinin yabancı anahtarını tutuyorsa, bir hata alıyorum. Kategori silindiğinde, yabancı anahtarın Olay tablosunda null olarak ayarlamak istiyorum. Şu anda, tüm kategorileri, kategoriyi silmeden önce null olarak güncelleyerek koddaki yabancı anahtarı açıkça ayarlayarak güncelliyorum. Ek açıklamaların kullanılmasında herhangi bir yolu var mı?JPA teke çok silme ve sıfırlama önekleme tuşu null

@Entity 
    @Table(name = "category") 
    public class Category implements Serializable{ 
    @OneToMany(mappedBy="category", targetEntity=Event.class, fetch=FetchType.LAZY, cascade= 
{CascadeType.DETACH, CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) 

    public Set<Event> getEvents_category() { 
    return events_category; 
    } 
    } 

Ve Olay sınıfı: Ben konuyu defalarca tartışıldı ama herhangi görmedim

@Entity 
    @Table(name = "event") 
    public class Event implements Serializable{ 

    @ManyToOne(cascade={CascadeType.DETACH, CascadeType.MERGE, CascadeType.PERSIST, 
CascadeType.REFRESH}) 
    @JoinColumn(name="events_dancestyle") 
    public DanceStyle getDanceStyle() { 
    return danceStyle; 
    } 
    } 

gördüğüm

Bu

benim Kategori Bunun çözümü.

cevap

İlgili konular