Focus mode
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!
Programs to Accelerate Your Progress in a Software Career
Join our 4-8 month intensive Patika+ bootcamps, start with the fundamentals and gain comprehensive knowledge to kickstart your software career!
You need to enroll in the course to be able to comment!