Odak modu
Tablo ilişkilerini JPA (Java Persistence API) kullanarak nasıl yöneteceğimizi anlamak için önce "Products" ve "Code" adında iki entity (varlık) oluşturacağız. Bu entity'ler arasında birebir (OneToOne) bir ilişki kurarak veritabanındaki tablo ilişkilerini modelleyeceğiz.
İlk olarak, "Code" adında bir entity oluşturalım. Bu entity'nin veritabanındaki karşılığı aşağıdaki gibi olacaktır:
@Entity
@Table(name="codes")
public class Code{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "code_id", columnDefinition = "serial")
private int id;
@Column(name = "code_group", nullable = false)
private String group;
@OneToOne(mappedBy = "code")
private Product product;
// Diğer özellikler ve getter/setter metotları
}
Burada, @Entity annotasyonu ile JPA'ya bu sınıfın bir entity olduğunu belirtiyoruz. @Id ve @GeneratedValue annotasyonları ile ID özelliğini belirleyip, otomatik artan bir strateji seçiyoruz.
Şimdi de "Product" adında bir entity oluşturalım. Bu entity'nin veritabanındaki karşılığı şu şekildedir:
@Entity
@Table(name="products")
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "product_id", columnDefinition = "serial")
private int id;
@Column(name = "product_name", nullable = false)
private String name;
@Column(name = "product_prc")
private Double price;
@Column(name = "product_stock", nullable = false)
private int stock;
@OneToOne
@JoinColumn(name = "product_code_id", referencedColumnName = "code_id")
private Code code;
// Diğer özellikler ve getter/setter metotları
}
Bu entity, "Products" tablosunu temsil eder. @OneToOne ve @JoinColumn anotasyonları ile "Code" entity'si ile birebir ilişki kuruyoruz. Bu ilişki, "code_id" kolonunu "Code" tablosundaki "id" kolonu ile eşleştirir.
Bu şekilde, "Products" ve "Code" entity'leri arasında veritabanında birebir bir ilişki oluşturduk. Bu ilişkiyi kullanarak, her iki tablo arasında bilgi alışverişi yapabiliriz.
Yazılım Kariyerinde İlerlemeni Hızlandıracak Programlar
Patika+ programlarımız ile 4-8 aylık yoğun yazılım kamplarına katıl, temel bilgilerden başlayarak kapsamlı bilgiler edin, yazılım kariyerine başla!
Yorum yapabilmek için derse kayıt olmalısın!