Anasayfa » Java ve Java Teknolojileri, Veritabanı

Eclipse Üzerine Hibernate Kurulumu ve Kullanımı

24 Kasım 2012 6.460 kez okundu 5 yorum
1 Star2 Stars3 Stars4 Stars5 Stars (3 oy,5 üzerinden : 3,33 )
Loading...

Merhaba arkadaşlar, bu yazımda eclipse üzerinde hibernate kullanımı için gerekli ayarları ve kütüphane listelerini sizinle paylaşacağım.

Ben ide olarak eclipse juno kullanacağım. Veri tabanı olarak bu yazımda mysql i kullanacağız.

Öncelikla aşağıdaki linklerden belirttiğim kütüphaneleri indirin.

  1. Mysql Connector adresinden 5.0.8 sürümünü zip olarak indirin.
  2. Hibernate adresinden hibernate3->3.6.10Final-> hibernate-distribution-3.6.10.Final-dist dosyasını
  3. Hibernate adresinden hibernate_annotations->3.4.0GA -> hibernate-annotations-3.4.0.GA.zip dosyasını indirin.

Bu indirdiklerinizin içinden bulmanız gereken jar dosyalarının listesi şu şekilde

Bunları tek tek bulmak zahmetli geliyorsa, buradan (hotfile) hepsini tek zip halinde indirebilirsiniz.

Şimdi gelelim projeyi nasıl oluşturacağımıza, Öncelikle Eclipse açıyoruz. File->New->Java Project  proje ismine HibernateKodmerkeziNet yazıyorum. ve finish diyorum.

Window->Preferences bölümünde arama bölümüne “user libraries” yazıyoruz ve gelen sonuçlardan Build path in altında bulunanı seçiyoruz. New diyerek yani bir library yaratıyoruz. İsmine “Hibernate3.0” yazıyorum

Daha sonra eklenen library i seçerek Add External JARs… butonuna basıyorum ve biraz önce listesini verdiğim tüm jar’ları ekliyorum.

Ok diyerek çıkalım.

Şimdi HibernateKodmerkeziNet projesine sağ tıklayarak  properties bölümüne girelim. Buradan Java Build Path bölümüne buradan da Libraries sekmesine geçelim. Sağ taraftan  Add Library ye tıklayalım ve açılan bölümden User Library seçelim.

Biraz önce oluşturduğumuz Hibernate3.0 kütüphanesini seçelim  ve finish diyelim. Kütüphaneler projemize eklendi.

Bizim Hibernate3.0 adında bir user library oluşturmamızdaki amaç, her yeni proje açtığımızda bu library ler ile uğraşmadan direk projemize Hibernate3.0 kütüphanesini ekleyip kurtulmak. Bu işlem bir kere yapılacak ve tüm projelerde rahatlıkla kullanılabilecek.

Şimdi HibernateKodmerkeziNet projemize yine sağ tıklayalım. New->Source  Folder seçelim. İsmini resources koyalım. Oluşturduğumuz resources klasörüne sağ tıklayalım ve New->File seçeneği ile log4j.properties adında bir dosya açalım. Dosyamızın içini şu şekilde dolduralım.

log4j.rootCategory = INFO, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%r [%t] %-5p %c - %m%n

Şimdi src klasörümüze sağ tıklayalım New->Folder seçelim ve ismini “META-INF” koyalım. META-INF klasörüne sağ tıklayıp, New->Other->XML->Xml File seçelim. ismini de “persistence.xml” koyalım. İçerisini şu şekilde dolduralım. Burada bulunan ayarları kendinize göre bir daha gözden geçip güncelleyin.

<?xml version="1.0" encoding="UTF-8"?>
<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="hibernateKodmerkeziPu" transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<!-- Burada entitylerimizin paket ve class isimlerini yazıyoruz. -->
		<class>net.kodmerkezi.hibernate.Employee</class>
 
		<properties>
			<!-- create komutu ile programı her çalıştırdığımızda tablolar baştan 
				yaratılacak. Geliştirme aşamasında bu şekilde ayarlanabilir -->
			<property name="hibernate.hbm2ddl.auto" value="create" />
			<!-- Geliştirme aşamasında arkada çalışan sql sorgularını görebilmek için -->
			<property name="hibernate.show_sql" value="true" />
			<!-- Mysql kullandığımız için -->
			<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
			<!-- Database bağlantısını yapacak driver -->
			<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
			<!-- Database kullanıcı adı (Kendinize göre değiştirin) -->
			<property name="hibernate.connection.username" value="root" />
			<!-- Database şifreniz  (Kendinize göre değiştirin)-->
			<property name="hibernate.connection.password" value="" />
			<!-- Database de oluşturduğunuz şemanın yolu. (Kendinize göre hibernate KodmerkeziNet ismini değiştirin) -->
			<property name="hibernate.connection.url"
				value="jdbc:mysql://localhost:3306/hibernateKodmerkeziNet" />
 
 
		</properties>
	</persistence-unit>
</persistence>

Şimdi src altına net.kodmerkezi.hibernate adında bir paket açıyorum. Bu paketin altında Employee ve Test adında iki class oluşturuyorum.

Employee.java classımı şu şekilde dolduruyorum

package net.kodmerkezi.hibernate;
 
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
/**
 * 
 * @author Gürcan Kavakçı
 *
 */
@Entity
public class Employee {
 
	private int empId;
	private String empName;
 
	@Id
	@GeneratedValue
	public int getEmpId() {
		return empId;
	}
 
	public void setEmpId(int empId) {
		this.empId = empId;
	}
 
	public String getEmpName() {
		return empName;
	}
 
	public void setEmpName(String empName) {
		this.empName = empName;
	}
 
 
}

Test.java classımı şu şekilde dolduruyorum.

package net.kodmerkezi.hibernate;
 
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
/**
 * 
 * @author Gürcan Kavakçı
 *
 */
public class Test {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		EntityManagerFactory emf = Persistence
				.createEntityManagerFactory("hibernateKodmerkeziPu");
 
		EntityManager em = emf.createEntityManager();
 
		em.getTransaction().begin();
 
		Employee employee = new Employee();
		employee.setEmpName("Gurcan Kavakci");
 
		em.persist(employee);
 
		em.getTransaction().commit();
 
		em.close();
 
		emf.close();
 
	}
 
}

Ardından Test.java dosyamı çalıştırıyorum. Sonuç olarak consol ekranında herşey normal gidecek ve şu şekilde bir çıktı olacak.

Şimdi gidip veritabanına baktığınızda Employee tablosuna bir satır eklenmiş olacak. Bu arada veritabanında şemayı oluşturmayı unutmayın.

Projemizin son dosya yapısı şu şekilde

Kurulum bu kadar.
Eğer @OneToMany annotation kullandığınızda “NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval” şeklinde hata alırsanız, kütüphaneler arasında bulunan ejb3-persistance.jar kütüphanesini silmeyi deneyebilirsiniz.
İyi günler.

<<< Önceki:

Sonraki: >>>


Facebookta Paylaş

5 yorum »

  • KodMerkezi.Net » Maven ile Hibernate Kurulumu dedi ki:

    […] arkadaşlar, bir önceki yazımızda eclipse üzerine hibernate kurulumunu anlatmıştım. Bu işlemi yaparken kütüphaneler ile baya […]

  • mesut dedi ki:

    mapping sıkıntısı var yazılmamıs

  • admin dedi ki:

    Mesut,
    Detaylı açıklar mısın sorunu?

  • uzeyr dedi ki:

    EntityManagerFactory emf = Persistence
    .createEntityManagerFactory(“hibernateKodmerkeziPu”);
    satırında problem taşıyorum

    hibernateKodmerkeziPu bulunamadı şeklinde hata alıyorum….

  • admin dedi ki:

    persistence.xml dosyasında persistence-unit ismine ne yazdı iseniz burada da aynısını kullanmalısınız. Hata bu yüzden meydana gelir.

Yorum Bırakın!

Yorum yaz, yada kendi sitende trackback (Geri besleme) olarak ekle. Ayrıca RSS ile bu konuya üye olabilirsin. .

Nazik olun. Temiz tutun. Konu dışına çıkmayın. Spam yaratmayın.

Bu tagları kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Bloğumuz gavatarı desteklemektedir. Kendi gavatarınızı edinmek için lütfen Gravatar a üye olun.