JPA etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
JPA etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Java JPA Configrasyonu



demo-ds.xml,JPA,persistence.xml,JPA configrasyonu,JPA configrasyonu nasıl yapılır?JPA Configrasyonu yapmak için projemizdeki şu iki dosyanın konfigrasyonu gerekir.

* persistence.xml
* demo-ds.xml

Bu dosyaların konfigrasyonunu zaten yeni bir proje oluştururken Elipse kendi yapıyor fakat daha sonra değiştirmek istiyorsak bunu nasıl yapacağımıza ve bu dosyaların içeriğine bir bakalım :



demo-ds.xml

<datasources>
<local-tx-datasource>
<jndi-name>demoDatasource</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/demo</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>root</password>
</local-tx-datasource>
</datasources>

jndi-name : Datasource'umuza bir isim veriyoruz.
connection-url : Bağlanacağımız database'in bağlantı URL'ini veriyoruz.
driver-class : Bağlanacağımız driver'ı seçiyoruz. Burada mesela .mysql.jdbc.Driver seçmişiz.
user-name : Database'imize bağlanacak kullanıcı adı.
password : Database'imize bağlanacak şifre.

persistence.xml

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="sample">
<jta-data-source>java:/demoDatasource</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
</properties>
</persistence-unit>
</persistence>

provider : Hibernate gibi kullanacağımız provider'ı seçiyoruz. Bunun nedeni JPA'nın bir önceki yazımızda bize kütüphaneleri kullanmamızda bir araç olduğunu söylemiştik. Bu şekilde biz hangi kütüphaneyi kullancacağımızı JPA'ya söylemiş oluyoruz.
jta-data-source, non-jta-data-source : demo-ds.xml dosyasında tanımlamış olduğumuz datasource adını vererek, demo-ds.xml dosyasında tanımladığımız database'e bağlanacağımızı belirtmiş oluyoruz.
properties: properties tagını kullanarak ise datasource'unu verdiğimiz database ile ilgili çeşitli parametreleri tanımlıyoruz.

Bu şekilde bu persistence.xml ve demo-ds.xml dosyalarının konfigrasyonu ile JPA konfigrasyonları yapılmaktadır.


Java JPA (Java Persistence Api) Nedir?



jpa,jpa nedir,java,java jpaJava'da Persistence teknolojisi üzerine tasarlanmış Hibernate, Eclipse-Link, TopLink gibi kütüphaneler vardır. Bunların dışında da kütüphaneler bulunmaktadır fakat ön plana çıkanlar bunlardır diyebiliriz. İşte bu kütüphanelerin hepsini kullanmak ve hepsini bilmek tabi tahmin edeceğiniz gibi zor ve zahmetli bir iş. Zaten JPA ile buna gerek kalmıyor şöyle ki JPA bu ürünlerin hepsininin çalışmasını tek çatı altında toplayan bir spesifikasyondur.

Yani JPA bir Hibernate veya Eclipse-Link gibi bir kütüphane değil, bunların kullanılmasını sağlayan bir spesifikasyondur. Yani biz JPA sayesinde Hibernate kütüphanesini veya diğer kütüphaneleri bilmek zorunda değiliz. JPA bu kütüphaneleri kullanmamızda bize ara bir katman oluyor. Git şu aracı kullanarak şu veritabanına şu veriyi kaydet diyorsunuz, o da gidip yapıyor. Geri kalanı da sizi ilgilendirmiyor. İşte bu şekilde JPA hayatımızı kolaylaştırıyor.

Şimdi kısaca özelliklerinden bahsedersek :

- Java EE standartıdır.
- EJB lerin entity kısmını olustururlar.
- Annotataion tabanlıdır.
- JPQL sorgulama dili özelliği vardır.
- Hibernate essential desteği vardır.