27 Eylül 2010 Pazartesi

Entity Class (@Entity)

Entity class'lar eğer verilerde bir kalıcılık sağlanacaksa oluşturulur. Kalıcılık derken, eğer bir veritabanına veri kaydedeceksek, işte o zaman.

Entity classlar oluşturuldukları isimde, kullandığımız veritabanında bir tablo oluştururlar ve class'ın içinde ki nesneler'de veri tabanındaki o tabloya kolon,alan olarak eklenir.

Eğer tablodaki isminin Entity ismi ile aynı olmasını istemiyorsak;

@Table(name="konulacak_Isim") annotation'ını Entity class'ın başında tanımlarız.


Mesala Öğrenci isimli bir class'ımız olsun.

--

public class Ogrenci{

private String ad;
private String soyad;

//Getter Setter

}

--

Bu normal oluşturulmuş ad ve soyad bilgilerini tutan bir class'tır. Fakat ben bu class'taki alanları veri tabanına da eklemek istiyorum.

Entity class oluşturmak için gerekli olan şartlar;

* Classın başına @Entity annotation'ı eklenmeli
* Serializable implements edilmeli
* Bir identy (id) icermeli ve o id'nin başına da @Id ve @GeneratedValue annotation'ı eklenmeli


@Id : O nesnenin ID olacagını belirtir.
@GeneratedValue : Id' değerinin otomatik olarak artacağını belirtir
---

@Table(name="ogr")
@Entity
public class Ogrenci{

@Id @GeneratedValue
private Long id;
private String ad;
private String soyad;

//Getter Setter

}

@Transient
Entity class'ımıza eklediğimiz herhangi bir nesnesin vertabanında bir karşılığı olmasını istemiyorsak, veri tabanına eklenmesini istemiyorsak o nesnenin başına @Transient annotation'ını eklememiz yeterli olacaktır.


@Entity
public class Ogrenci{

@Id @GeneratedValue
private Long id;
private String ad;
private String soyad;

@Transient
private String ogretmeni;

//Getter Setter

}

Hiç yorum yok:

Yorum Gönder