JPA - Java Persistence API Kullanimi

Bu makele ile birlikte NetBeans IDE ortaminda nasil rahat bir sekilde Java Persistence API kullaniliyor bunu anlatacagim.
Java Persistence Api'ler JPA olarak anilmaktadir. JPA en son olarak JPA2.0 olarak anildigindan dolayi icerisinde barindirdigi konular vardir. Bunlar ; API'nin kendi tanimlamis oldugu javax.persistence package' , Java Persistence Query Language(LPQL), nesneler arasi iliskiler olusturmaktadir.
Simdi bu kisa aciklamadan sonra dilerseniz NetBeans IDE ortaminda bir JPA nasil olusturuluyor bunlari inceleyelim.
Oncelikle NetBeans'de yeni bir Web Application projesi aciyoruz. Bu projemizi olustururken,
Projemize isim veriyoruz;
Kullanacagimiz server' i seciyoruz.
JPA olustururken Onemli olan noktalardan birisi birazdan yapacagimiz islemdir. Olusturma asamasinda 4. adimda Framework sorusuna karsilik olarak JavaServer Faces seciyoruz. Hemen Ardindan acilan configuration alanindan PrimeFaces component'ini seciyoruz. Ve finish butonu ile islemi tamamlamis oluyoruz.
Projemiz olustugunda kendisi otomatik olarak configuration ve jar dosyalari ile birlikte karsimiza gelmis olacaktir.
Simdi sirasiyla diger yapmamiz gerekenleri gerceklestirelim.
Persistence.XML Olusturma ;
Oncelikle ; Bir unit olusturuyoruz. Proje uzerinde sag click New -> Other diyoruz ve karsimiza gelen pencereden Categories sekmesinden Persistence'i seciyoruz. File Type olarak da Persistence Unit ' i seciyor ve ilerliyoruz.
Olusturulacak Persistence Unit'in ismini kendisi otomatik bir sekilde veriyor, istege ve kurallara bagli olarak ismi degistirebilirsiniz. Bu adimda dikkat edilmesi gerek onemli nokta ise verilerimizi hangi veritabanindan cekecegimizi belirtmemizdir. Bu islemi gerceklestirirken JPA2.0 i default olarak kullanacagimiz icin Persistence Provider'da EclipseLink (JPA2.0) seciliyken, Data Source kisminda New Data Source... ifadesini veriyoruz. Karsimiza Yeni bir data source olusturabilmemiz icin bir alan cikiyor. Burada baglantinizi hangi veritabanindan yapacaksiniz onu seciyorsunuz. Taniyabileceginiz bir isim verdikten sonra da devam ediyoruz.
Asagida ki gibi ekledigimiz JNDI Name'imiz data source alanina geldikten sonra finish butonu ile islemi tamamlamis oluyoruz.
Bu islemlerin sonucunda karsimiza persistence.xml konfigurasyon dosyasi gelmektedir. Yapilan islemlerden de anlayabileceginiz gibi persistence.xml konfigurasyon dosyasi jpa'nin ilgilenmis oldugu veri tabani baglanti ayarlarinin bulundugu bir dosyadir. Ve yine olusturdugumuz konfigurasyon dosyasinin projemizde ki yeri Configuration Files kisminda yer almaktadir.
Entity Classes From Database Olusturma ;
Buradaki amac, veri tabanimizda kullanacagimiz tablo yada tablolarin iliskili olsun yada olmasin hangilerini secersek secelim onlarla ilgili bir Entity Class'i olusturmaktadir. Bu class icerisinde ;
bulunmaktadir. Ozetle; Persistence.xml ile veritabanina baglanmis olup verilerin alis verisinde iletisim icin kullanacaklari siniflardirda diyebiliriz.
Dilerseniz simdi bu Class'larin tutulacagi Jpa_Paket isminde bir paket olusturalim. Olusturulan bu paket uzerinde New->Other lokasyonunu kullanarak yine persistence kategorisine geliyoruz ve bu kez file type olarak Entity Classes From Database 'i seciyoruz.
Islemin ikinci adiminda DataBase'den kullanacagimiz tablolari secmemiz gerekiyor. Bu uygulamamda Kitaplar tablosunu seciyorum ve ucuncu adim icin ileri butonunu tikliyorum.
Olusturulacak Class'in Class Name kismina dikkat etmeliyiz, turkce karakter kullanilmamasi tavsiye edilendir.
Olusuturulmus olan Kitaplar.Java isimli class i incelediginizde normal bir pojo'yu andirdigini gorebileceksiniz. Icerisinde Sql cumlelerinin de bulundu bu pojo'da kurucu metodlar ve getter/setter metodlari hazir olusturulmus sekilde karsimiza gelmektedir.
Jsf Pages From Entity Classes Olusturma ;
Simdi gelelim bu olusturdugumuz class'da ki tablolara ait bilgilerin tutuldugu metodlari kullanmaya. Bu metodlari kullanarak direkt olarak bir JSF sayfasi olusturabiliyoruz. Bunu icin Web Pages uzerinde sag click New->Other secenegi ile karsimiza gelen kategorilerden Persistence' i secip file type'i ni Jsp Pages From Entity Classes 'i seciyoruz.
Ikinci adima gectigimizde, olusturdugumuz pakette ki entity class'i varolan entity siniflarinin bulundugu listeden secip diger secili olan entity siniflar listesine ekliyoruz.
Ucuncu adimda herhangi bir degisiklik yapmadan ileri butonuna tiklariz...
Ekran Goruntuleri ;
Proje ilk olarak calistirildiginda karsimiza Kitaplar tablosunun tum icerigini listelemesi icin bir link olusturdugu icin bunu tikliyoruz ve verileri dogru bir sekilde getirmismi kontrol ediyoruz.
Goruldugu gibi verilerimiz tablodan cekilmis bulunmakta. Verilerin Detaylarini View ile gorebilir, Edit ile bilgileri duzenleyebilir, Destroy ile de verilerinizi silebilirsiniz. Keyifli Calismalar Dilerim...
Yorumlar