Odak modu
Bu yazıda, Java Persistence API (JPA) ile çalışarak entity sınıflarını nasıl oluşturabileceğimizi adım adım göreceğiz. JPA, Java tabanlı uygulamalarda veritabanı işlemlerini yönetmemizi sağlayan bir teknolojidir.
1. Entity Sınıfları Nedir?
Entity sınıfları, veritabanındaki tabloları temsil eden ve JPA tarafından yönetilen Java sınıflarıdır. Bu sınıfları oluşturarak, veritabanındaki tablolarla ilişkilendirebilir ve bu tablolardaki verilere erişebiliriz.
2. Entity Sınıfları Oluşturma
İlk olarak, Customer adında bir entity sınıfı oluşturacağız. Bu sınıf, bir müşteriyi temsil edecek ve veritabanındaki customers tablosuyla ilişkilendirilecek.
@Entity
@Table(name = "customers")
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "customer_id", unique = true, nullable = false)
private Integer customerId;
@Column(name = "customer_name", length = 100, nullable = false)
private String customerName;
@Column(name = "customer_mail", unique = true, nullable = false)
private String customerMail;
@Column(name = "customer_on_date")
@Temporal(TemporalType.DATE)
private LocalDate customerOnDate;
@Enumerated(EnumType.STRING)
@Column(name = "customer_gender", length = 10)
private Gender customerGender;
// Getter ve setter metotları
// Diğer özellikler de eklenebilir.
}
Yukarıdaki kod örneğinde, Customer sınıfını @Entity anotasyonu ile JPA'ya bir entity olduğunu belirttik. Ayrıca, @Table anotasyonu ile veritabanındaki tablo adını belirttik.
3. Veritabanını Oluşturma ve Güncelleme
Veritabanını kod üzerinden yönetmek için, persistence.xml dosyasına create-drop özelliğini ekleyerek, veritabanını oluşturup her çalıştığında silme işlemi gerçekleştirebiliriz.
<persistence-unit name="market">
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5433/market"/>
<property name="jakarta.persistence.jdbc.user" value="postgres"/>
<property name="jakarta.persistence.jdbc.password" value="123"/>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
</properties>
</persistence-unit>
Bu örnekte, hibernate.hbm2ddl.auto özelliğini create-drop olarak ayarlayarak, veritabanını her seferinde oluşturup sildik.
Bu şekilde, JPA ile entity sınıfları oluşturup veritabanı üzerinde yönetebiliriz. Daha fazla özellik ekleyerek ve ilişkiler kurarak uygulamamızı daha da geliştirebiliriz. Umarım bu konu anlatımı size yardımcı olur!
Sektörde en çok aranan yazılım becerilerini kazan
Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.
Yunus Emre Kabakcı
Patika+ mezunuPatika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,
3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!
“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“
Yorum yapabilmek için derse kayıt olmalısın!