11 Eylül 2018 Salı

JPA CascadeType Enum

ALL
Açıklaması şöyle.
The meaning of CascadeType.ALL is that the persistence will propagate (cascade) all EntityManager operations (PERSIST, REMOVE, REFRESH, MERGE, DETACH) to the relating entities.
Örnek
Role sınıfında şöyle yaparız. Böylece bir role'e sahip bir çok kullanıcı olabilir. Eğer bir kullanıcı bu set'ten silinirse aradaki ilişki de silinir.
@OneToMany(cascade=CascadeType.ALL, mappedBy="role")
private Set<UserBean> users = new HashSet<UserBean>();
Kullanıcı'nın rolünü silerek aynı şeyi elde etmek için şöyle yaparız.
@ManyToOne(optional=true,cascade=CascadeType.ALL,unique=true)
@JoinColumn(name="role_id")
private RoleBean role=new RoleBean();
REMOVE
Bu seçeneği koymazsak aradaki bağlantılar koparılmaz.

Hiç yorum yok:

Yorum Gönder