Hibernate Dersleri – Bire Çok İlişki (One To Many Annotation)
Hibernate Dersleri‘ne devam ediyoruz.
Tablolar arası ilişkilerden bire çok ilişkiyi yapısının Hibernate (JPA) ile nasıl yapıldığını inceleyeceğiz. Bu ilişkiyi incelememiz için bir üyenin birden fazla telefon numaraları olabileceği senaryosu üzerinden inceleyelim.
Telefon sınıfını oluşturalım.
@Entity public class Telefon implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "TELEFON_ID") private Long id; @Column(name = "Numara") private String numara; @Column(name = "Telekom") private String telekom; //Getter Setter }
Üye sınıfmızı oluşturalım.
@Entity public class Uye implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "UYE_ID") private Long id; @Column(name = "Adi") private String adi; @OneToMany(cascade = CascadeType.ALL) @JoinTable(name = "UYE_TELEFON", joinColumns = { @JoinColumn(name = "UYE_ID") }, inverseJoinColumns = { @JoinColumn(name = "TELEFON_ID") }) private Telefon telefon; //Getter Setter }
Üyelerimizin telefonlarını kaydedeğimiz bir alan var. Bu alanı @OneToMany anostasyonu ile işaretliyoruz. Bu işaretleme sayesinde üyenin telefonları bir tabloda tutuluyor. Bu tabloda üyenin tüm numaralarının üye tablosundaki veriler ile eşleştiği ayrı bir tablo oluşturmak gerekir. Bu ayrı tablo @JoinTable anotasyonu ile hangi tabloları bağladığımızı persist sınıfı üzerindeki id ile belirtiyoruz.
Uye sınıfı üzerindeki telefon numaraları Hibernate bu anotasyonlar ile yazma, okuma, silme ve güncelleme işlemlerini yönetecektir.
Önceki : Bire Bir İlişki (One To One) | Hibernate Dersleri | Sonraki: Çoka Çok İlişki (Many To Many) |
No Comment! Be the first one.