<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>thexpot.net &#187; Hibernate</title>
	<atom:link href="http://www.thexpot.net/tag/hibernate/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thexpot.net</link>
	<description>...olur arada öyle...</description>
	<lastBuildDate>Mon, 18 Jan 2010 13:23:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>hbm2ddl</title>
		<link>http://www.thexpot.net/2006/04/old57/</link>
		<comments>http://www.thexpot.net/2006/04/old57/#comments</comments>
		<pubDate>Fri, 21 Apr 2006 13:18:01 +0000</pubDate>
		<dc:creator>ibrahim dursun</dc:creator>
				<category><![CDATA[Yazılar]]></category>
		<category><![CDATA[Araçlar]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Ant Script içinde <b>taskdef</b> ile yeni bir görev olarak belittiğiniz <b>hibernatetool</b> taginin içersinde kullanabileceğiniz altgörevlerden birinin adı <b>hbm2ddl</b>. Adı ise ne yaptığını açıklamaya yetiyor: HBM dosyalarını kullanarak bir DDL script oluşturmak.

build.xml scriptine aşağıdaki eklemeyi yapıp

<code lang="xml">
        <hibernatetool destdir="src">
            <configuration configurationfile="src/hibernate.cfg.xml">
                <fileset dir="src">
                    <include name="*.hbm.xml"/>
                </fileset>
            </configuration>
            <hbm2ddl 
                create="true" 
                update="true" 
                format="true" 
                outputfilename="ddl.sql" 
                delimiter=";"
            />
        </hibernatetool>
</code>]]></description>
			<content:encoded><![CDATA[<p>Ant Script içinde <b>taskdef</b> ile yeni bir görev olarak belittiğiniz <b>hibernatetool</b> taginin içersinde kullanabileceğiniz altgörevlerden birinin adı <b>hbm2ddl</b>. Adı ise ne yaptığını açıklamaya yetiyor: HBM dosyalarını kullanarak bir DDL script oluşturmak.</p>

<p>build.xml scriptine aşağıdaki eklemeyi yapıp</p>

<pre class='prettyprint'><code>&lt;hibernatetool destdir="src"&gt;
   &lt;configuration configurationfile="src/hibernate.cfg.xml"&gt;
     &lt;fileset dir="src"&gt;
    &lt;include name="*.hbm.xml"/&gt;
 &lt;/fileset&gt;
   &lt;/configuration&gt;
   &lt;hbm2ddl 
      create="true" 
      update="true" 
      format="true" 
      outputfilename="ddl.sql" 
      delimiter=";" /&gt;
&lt;/hibernatetool&gt;
</code></pre>

<p>çalıştırdığımızda console&#8217;da şöyle bir sonuç almamız lazım.</p>

<pre class='prettyprint'><code>Buildfile: C:\eclipse32\workspace\HibernateTest\build.xml
default:
[hibernatetool] Executing Hibernate Tool with a Standard Configuration
[hibernatetool] 1. task: hbm2ddl (Generates database schema)
[hibernatetool] create table Musteri (ID integer not null, AD varchar(20), SOYAD varchar(20), YAS integer, primary key (ID))
BUILD SUCCESSFUL
Total time: 4 seconds
</code></pre>

<p>Gördüğünüz gibi, Musteri tablosunun DDL bizim için hazırlandı.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thexpot.net/2006/04/old57/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant Script</title>
		<link>http://www.thexpot.net/2006/04/old55/</link>
		<comments>http://www.thexpot.net/2006/04/old55/#comments</comments>
		<pubDate>Fri, 21 Apr 2006 13:11:51 +0000</pubDate>
		<dc:creator>ibrahim dursun</dc:creator>
				<category><![CDATA[Yazılar]]></category>
		<category><![CDATA[Araçlar]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Eclipse içinde zaten Ant Script editörü mevcut. Tek yapmanız gereken build.xml adıyla bir dosya oluşturmak ve içeriğini şu şekilde belirlemek:

<code lang="xml">
<?xml version="1.0"?>
<project name="project" default="default">
    <property name="hibernate.path" location="c:/eclipse32/hibernate"/>
    <property name="jaybird.path" location="c:/eclipse32/jaybird"/>
    <taskdef 
        name="hibernatetool" 
        classname="org.hibernate.tool.ant.HibernateToolTask">
        <classpath>
            <fileset dir="${hibernate.path}">
                <include name="*.jar"/>
                    <include name="lib/*.jar"/>
                    <include name="tools/*.jar"/>
            </fileset>
            <fileset dir="${jaybird.path}">
                <include name="*.jar"/>
            </fileset>
        </classpath>
    </taskdef>
    <target name="default" description="açıklama">
        <hibernatetool destdir="src">
            <configuration configurationfile="src/hibernate.cfg.xml">
                <fileset dir="src">
                    <include name="*.hbm.xml"/>
                </fileset>
            </configuration>
        </hibernatetool>
    </target>
</project>
</code>
Bu script dosyasını çalıştırmak için üzerine tıklayın Run As > Ant Build... seçeneğini veya editör açıkken Alt+Shift+X,Q kısayol tuşlarını kullanabilirsiniz.

Hibernate Tools ile ilgili detaylı açıklama ve bir el kitabı hibernate.org adresinde mevcut. O yüzden detaylara girmeyeceğim şimdilik.]]></description>
			<content:encoded><![CDATA[<p>Eclipse içinde zaten Ant Script editörü mevcut. Tek yapmanız gereken build.xml adıyla bir dosya oluşturmak ve içeriğini şu şekilde belirlemek:</p>

<pre class='prettyprint'><code>&lt;?xml version="1.0"?&gt;
&lt;project name="project" default="default"&gt;
    &lt;property name="hibernate.path" location="c:/eclipse32/hibernate"/&gt;
    &lt;property name="jaybird.path" location="c:/eclipse32/jaybird"/&gt;
    &lt;taskdef 
        name="hibernatetool" 
        classname="org.hibernate.tool.ant.HibernateToolTask"&gt;
        &lt;classpath&gt;
            &lt;fileset dir="${hibernate.path}"&gt;
                &lt;include name="*.jar"/&gt;
                    &lt;include name="lib/*.jar"/&gt;
                    &lt;include name="tools/*.jar"/&gt;
            &lt;/fileset&gt;
            &lt;fileset dir="${jaybird.path}"&gt;
                &lt;include name="*.jar"/&gt;
            &lt;/fileset&gt;
        &lt;/classpath&gt;
    &lt;/taskdef&gt;
    &lt;target name="default" description="açıklama"&gt;
        &lt;hibernatetool destdir="src"&gt;
            &lt;configuration configurationfile="src/hibernate.cfg.xml"&gt;
                &lt;fileset dir="src"&gt;
                    &lt;include name="*.hbm.xml"/&gt;
                &lt;/fileset&gt;
            &lt;/configuration&gt;
        &lt;/hibernatetool&gt;
    &lt;/target&gt;
&lt;/project&gt;
</code></pre>

<p>Bu script dosyasını çalıştırmak için üzerine tıklayın <code>Run As &gt; Ant Build...</code> seçeneğini veya editör açıkken Alt+Shift+X,Q kısayol tuşlarını kullanabilirsiniz.</p>

<p>Hibernate Tools ile ilgili detaylı açıklama ve bir el kitabı hibernate.org adresinde mevcut. O yüzden detaylara girmeyeceğim şimdilik.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thexpot.net/2006/04/old55/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Kurulum</title>
		<link>http://www.thexpot.net/2006/04/old54/</link>
		<comments>http://www.thexpot.net/2006/04/old54/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>ibrahim dursun</dc:creator>
				<category><![CDATA[Yazılar]]></category>
		<category><![CDATA[Araçlar]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Hibernate Tools, eclipse'e plugin olarak hazırlanmış olarak dağıtılıyor. Yani zip dosyası içindeki klasörleri eclipse'in içine kopyaladığınız zaman bu pluginleri kullanmaya başlayabilirsiniz. Ben Ant Script yoluyla bu araçları kullanmayı daha pratik buluyorum o yüzden bir build.xml dosyası hazırlamamız gerekecek. Bunu yapmadan önce indirdiğiniz zip doyasının içinde bulunan plugins\org.hibernate.eclipse_3.1.0.beta4\lib\tools\ klasörünün içindeki tüm jar dosyalarını hibernate'i kurduğunuz klasörün içine  tools diye bir klasör altına kopyalayın.]]></description>
			<content:encoded><![CDATA[<p>Hibernate Tools, eclipse&#8217;e plugin olarak hazırlanmış olarak dağıtılıyor. Yani zip dosyası içindeki klasörleri eclipse&#8217;in içine kopyaladığınız zaman bu pluginleri kullanmaya başlayabilirsiniz. Ben Ant Script yoluyla bu araçları kullanmayı daha pratik buluyorum o yüzden bir build.xml dosyası hazırlamamız gerekecek. Bunu yapmadan önce indirdiğiniz zip doyasının içinde bulunan plugins\org.hibernate.eclipse_3.1.0.beta4\lib\tools\ klasörünün içindeki tüm jar dosyalarını hibernate&#8217;i kurduğunuz klasörün içine  tools diye bir klasör altına kopyalayın.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thexpot.net/2006/04/old54/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hibernate Tools</title>
		<link>http://www.thexpot.net/2006/04/old53/</link>
		<comments>http://www.thexpot.net/2006/04/old53/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>ibrahim dursun</dc:creator>
				<category><![CDATA[Yazılar]]></category>
		<category><![CDATA[Araçlar]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Şu ana kadar bir java sınıfı, bir veritabanı tablosu ve bir de bunları eşleyen Mapping Doyası (*.hbm.xml) dosyası oluşturduk. Tanım modelimizi (Domain model) geliştirdikçe veya değiştirdikçe tek tek bütün bu dosyalara uygulamamız gerekecek. Bu işlem çok vakit alır ve zaman kaybına neden olur. 

Hibernate için hazırladığımız eşleme dosyaları tamamen java sınıfı odaklıdır. Yani bu dosyaları tasarlarken hep java tarafından düşünmeliyiz. Veri tabanı ise sadece bunları saklamak için gerekli ve yeni bir model hazırlarken önemli değildir. İşte bu noktada Hibernate bize <a href="">Hibernate Tools</a> adıyla bir takım araçlar sunuyor. Bu araçları kullanarak eşleme dosyalarından DDL ve Java sınıflarını otomatik olarak oluşturabilirsiniz. ]]></description>
			<content:encoded><![CDATA[<p>Şu ana kadar bir java sınıfı, bir veritabanı tablosu ve bir de bunları eşleyen Mapping Doyası (*.hbm.xml) dosyası oluşturduk. Tanım modelimizi (Domain model) geliştirdikçe veya değiştirdikçe tek tek bütün bu dosyalara uygulamamız gerekecek. Bu işlem çok vakit alır ve zaman kaybına neden olur. </p>

<p>Hibernate için hazırladığımız eşleme dosyaları tamamen java sınıfı odaklıdır. Yani bu dosyaları tasarlarken hep java tarafından düşünmeliyiz. Veri tabanı ise sadece bunları saklamak için gerekli ve yeni bir model hazırlarken önemli değildir. İşte bu noktada Hibernate bize <a href="http://www.hibernate.org/255.html">Hibernate Tools</a> adıyla bir takım araçlar sunuyor. Bu araçları kullanarak eşleme dosyalarından DDL ve Java sınıflarını otomatik olarak oluşturabilirsiniz. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.thexpot.net/2006/04/old53/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kayıtları listelemek</title>
		<link>http://www.thexpot.net/2006/04/old52/</link>
		<comments>http://www.thexpot.net/2006/04/old52/#comments</comments>
		<pubDate>Thu, 20 Apr 2006 09:15:02 +0000</pubDate>
		<dc:creator>ibrahim dursun</dc:creator>
				<category><![CDATA[Yazılar]]></category>
		<category><![CDATA[Araçlar]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Kod yazarak kayıtları listelemek istiyorsanız: Session sınıfının createQuery metodunu kullanmanız gerekir. 
Aşağıdaki örneği inceleyin.

<code lang="java">
import java.util.Iterator;
import java.util.List;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;

public class Test1 {
  public static void main(String[] args) {
    Configuration conf = new Configuration();
    conf.addResource("Musteri.hbm.xml");
    SessionFactory sessionFactory = conf.configure().buildSessionFactory();
    Session session = sessionFactory.openSession();
    List list = session.createQuery("from Musteri").list();
    for (Iterator iter = list.iterator(); iter.hasNext();) {
        Musteri musteri = (Musteri) iter.next();]]></description>
			<content:encoded><![CDATA[<p>Kod yazarak kayıtları listelemek istiyorsanız: Session sınıfının createQuery metodunu kullanmanız gerekir.
Aşağıdaki örneği inceleyin.</p>

<pre class='prettyprint'><code>import java.util.Iterator;
import java.util.List;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;&lt;/code&gt;

public class Test1 
{
  public static void main(String[] args) 
  {
    Configuration conf = new Configuration();
    conf.addResource("Musteri.hbm.xml");
    SessionFactory sessionFactory = conf.configure().buildSessionFactory();
    Session session = sessionFactory.openSession();
    List list = session.createQuery("from Musteri").list();
    for (Iterator iter = list.iterator(); iter.hasNext();) 
    {
      Musteri musteri = (Musteri) iter.next();
      System.out.print(musteri.getId()+" ");
      System.out.print(musteri.getAd()+" ");
      System.out.print(musteri.getSoyad()+" ");
      System.out.println(musteri.getYas()+" ");
    }
    session.close();
  }
}
</code></pre>

<p>Dikkat ettiyseniz createQuery metodundan sonra list metodunu çağırıyoruz ve sonuç olarak da bize bir List arayüzü (interface) döndürülüyor. Tercihinize göre array(), iterator() metodlarını da kullanabilirsiniz. Eğer dönen kayıtlar üzerinde bir ileri bir geri gidebilmek istiyorsanız scroll() metodunu kullanın.</p>

<p>Parametreli sorgular da hazırlamanız mümkün. Örneğin:</p>

<pre class='prettyprint'><code>List list = session.createQuery("from Musteri where yas &amp;gt; :yas")
.setInteger("yas", 25)
.list();
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.thexpot.net/2006/04/old52/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kayıt girmek</title>
		<link>http://www.thexpot.net/2006/04/old51/</link>
		<comments>http://www.thexpot.net/2006/04/old51/#comments</comments>
		<pubDate>Wed, 19 Apr 2006 13:06:35 +0000</pubDate>
		<dc:creator>ibrahim dursun</dc:creator>
				<category><![CDATA[Yazılar]]></category>
		<category><![CDATA[Araçlar]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Hibernate mapping açıklamalarına ve örneklerine girmeden hibernate'in neler yapabileceğine dair küçük bir fikriniz olması için küçük bir örnek yazalım.

Öncelikle, yapılandırmada belirttiğimiz veritabanına bağlanıp bir tablo oluşturalım.
<code lang="sql">
create table MUSTERI (
   id integer not null primary key,
   ad varchar(20),
   soyad varchar(20),
   yas smallint 
);
</code>

Tablomuzdaki her kayıt bir java sınıfına denk geleceği için Musteri adıyla bir java sınıfı oluşturmamız gerekiyor. Daha sonra bu tablo ile bu sınıfı eşleyeceğiz.]]></description>
			<content:encoded><![CDATA[<p>Hibernate mapping açıklamalarına ve örneklerine girmeden hibernate&#8217;in neler yapabileceğine dair küçük bir fikriniz olması için küçük bir örnek yazalım.</p>

<p>Öncelikle, yapılandırmada belirttiğimiz veritabanına bağlanıp bir tablo oluşturalım.</p>

<pre class='prettyprint'><code>create table MUSTERI (
   id integer not null primary key,
   ad varchar(20),
   soyad varchar(20),
   yas smallint 
);
</code></pre>

<p>Tablomuzdaki her kayıt bir java sınıfına denk geleceği için Musteri adıyla bir java sınıfı oluşturmamız gerekiyor. Daha sonra bu tablo ile bu sınıfı eşleyeceğiz.
<span id="more-51"></span></p>

<pre class='prettyprint'><code>public class Musteri {
    private int id;
    private String ad;
    private String soyad;
    private int yas;
    public String getAd() {
        return ad;
    }
    public void setAd(String ad) {
        this.ad = ad;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getSoyad() {
        return soyad;
    }
    public void setSoyad(String soyad) {
        this.soyad = soyad;
    }
    public int getYas() {
        return yas;
    }
    public void setYas(int yas) {
        this.yas = yas;
    }
}
</code></pre>

<p><em>Not</em>:Getter ve Setter metodlarını tek tek yazmak yerine, private alanları belirttikten sonra Eclipse&#8217;in <code>Source &gt; Generate Getter and Setter...</code>  seçeneğini kullanabilirsiniz.</p>

<p>Şimdi bu sınıfla veritabanımızdaki <code>MUSTERI</code> tablosunu eşleyecek mapping dosyasını hazırlamaya geldi. Hibernate.cfg.xml dosyasının bulunduğu klasöre <em>Musteri.hbm.xml</em> adında yeni bir dosya açın ve içeriğini şöyle belirleyin.</p>

<pre class='prettyprint'><code>&lt;?xml version='1.0' encoding='utf-8' ?&gt;
&lt;!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"&gt;
&lt;hibernate-mapping&gt;
  &lt;class name="Musteri"&gt;
    &lt;id name="id" column="ID" type="int"/&gt;
    &lt;property name="ad" column="AD" type="string" length="20" /&gt;
    &lt;property name="soyad" column="SOYAD" type="string" length="20" /&gt;
    &lt;property name="yas" column="YAS" type="int"/&gt;
  &lt;/class&gt;
&lt;/hibernate-mapping&gt;
</code></pre>

<p>Bu eşleme dosyasında yaptığımız tek şey Musteri sınıfındaki değişkenlerin hangi tablodaki hangi alanlara denk geldiğini belirtmek.</p>

<p>Artık veritabanımıza kayıt girebiliriz. Kodumuzu şu şekilde değiştirmemiz lazım:</p>

<pre class='prettyprint'><code>import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
public class Test1 {
  public static void main(String[] args) {
        Configuration conf = new Configuration();
        conf.addResource("Musteri.hbm.xml");
        SessionFactory sessionFactory = conf.configure().buildSessionFactory();
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();
        for (int i = 1; i &lt; 10; i++) {
            Musteri musteri = new Musteri();
            musteri.setId(i);
            musteri.setAd("Deneme "+i);
            musteri.setSoyad("Müşterisi");
            musteri.setYas(20+i);
            session.save(musteri);
        }
        tx.commit();
        session.close();
  }
}
</code></pre>

<p>Çalıştırıp bir bakın <code>MUSTERI</code> tablosuna yeni bir kayıt girilmiş mi diye.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thexpot.net/2006/04/old51/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yapılandırma (Konfigürasyon)</title>
		<link>http://www.thexpot.net/2006/04/old50/</link>
		<comments>http://www.thexpot.net/2006/04/old50/#comments</comments>
		<pubDate>Wed, 19 Apr 2006 12:00:24 +0000</pubDate>
		<dc:creator>ibrahim dursun</dc:creator>
				<category><![CDATA[Yazılar]]></category>
		<category><![CDATA[Araçlar]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Firebird + Hibernate kütüphanelerinin Eclipse'e nasıl ekleneceğini anlatalım:

Eclipse'e alışkın olmayanlar için adım adım neler yapılması gerektiğinden bahsedeceğim. İlk aşamada yapacaklarımız Hibernate ve Jaybird için gerekli JAR dosyalarını Kullanıcı Kütüphanesi (User Library) olarak Eclipse'e eklemek.

1)Hibernate ve JayBird'ü indirin.

<ol>
<li>Window > Preferences > Build Path > User Libraries ekranında, en sağda New... . düğmesine tıklayın.
<li>User Library Name olarak Hibernate yazın ve Ok'e tıklayın. Hibernate öğesi listede belirdikten sonra seçin ve sağ taraftaki Add Jar... düğmesine tıklayın.]]></description>
			<content:encoded><![CDATA[<p>Firebird + Hibernate kütüphanelerinin Eclipse&#8217;e nasıl ekleneceğini anlatalım:</p>

<p>Eclipse&#8217;e alışkın olmayanlar için adım adım neler yapılması gerektiğinden bahsedeceğim. İlk aşamada yapacaklarımız Hibernate ve Jaybird için gerekli JAR dosyalarını Kullanıcı Kütüphanesi (User Library) olarak Eclipse&#8217;e eklemek.
<span id="more-50"></span>
1)Hibernate ve JayBird&#8217;ü indirin.</p>

<p><ol>
<li>Window > Preferences > Build Path > User Libraries ekranında, en sağda New&#8230; . düğmesine tıklayın.
<li>User Library Name olarak Hibernate yazın ve Ok&#8217;e tıklayın. Hibernate öğesi listede belirdikten sonra seçin ve sağ taraftaki Add Jar&#8230; düğmesine tıklayın.
<li>Hibernati kurduğunuz klasöre gidin ve hibernate3.jar dosyasını seçip listeye ekleyin. Yalnız bu Jar dosyası yeterli değil. <em>lib</em> klasörü içinde bulunan
<ul>
<li>jdbc2_0-stdext.jar
<li>jta.jar
<li>antlr-XXX.jar
<li>asm.jar
<li>asm-attrs.jar
<li>commons-collections-XXX.jar
<li>commons-logging-XXX.jar
<li>dom4j-XXX.jar
<li>ehcache-XXX.jar
<li>cglib-XXX.jar
</ul>
<li>Jar dosylarını da eklemeniz gerekiyor.
Son görünüm şöyle olmalı:
<img src="img/hibernate1.png"></img>
<li>Jaybird içinde yeni bir User Library oluşturun ve içine jaybird-full-XXX.jar dosyasını ekleyin. Bu Jar dosyasının yanındaki + işaretine tıklayın ve  açılan listeden Native Library öğesine çift tıklayarak jaybird2.dll dosyasını seçin
</ol>
Yukarıdaki adımları tamamladıktan sonra yeni bir Java projesi oluşturun ve kütüphaneler sekmesinde Hibernate ve Jaybird öğelerini ekleyin.</p>

<p>Artık bu yeni proje içerisinde hibernate&#8217;i sorunsuz kullanabilmemiz lazım. Emin olmak için aşağıdaki kodu yazıp çalıştırın.</p>

<pre class='prettyprint'><code>import java.util.Properties;
import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.Environment;

public class Test1 {
  public static void main(String[] args) {
    Configuration conf = new Configuration();
    Properties props = new Properties();
    props.put(Environment.DRIVER , "org.firebirdsql.jdbc.FBDriver");
    props.put(Environment.URL, "jdbc:firebirdsql:localhost/3050:c:/test.fdb" );
    props.put(Environment.DIALECT, "org.hibernate.dialect.FirebirdDialect");
    props.put(Environment.USER, "SYSDBA");
    props.put(Environment.PASS, "masterkey");
    conf.addProperties(props);
    conf.addProperties(System.getProperties());
    conf.buildSessionFactory().openSession().close();
  }
}
</code></pre>

<p>Eğer console ekranında hiçbir Exception yazısı görmüyorsanız her şey çalışıyor demektir.</p>

<p>Hibernate bağlantısı için gerekli parametreler kodun içine yazıldı. Hibernate bu yapılandırmayı ayrı bir dosyadan da okuyabilir. Böylece farklı veritabanlarına bağlanmak için kodu değiştirmek yerine sadece yapılandırma dosyasını değiştirmemiz yeterli olur. </p>

<p>iki tip yapılandırma dosyası oluşturabilirsiniz. 
<ul>
<li>Hibernate 1 ve 2&#8242;de kullanılan hibernate.properties
<li>Hibernate 3 ile kullanılmaya başlayan <b>hibernate.cfg.xml</b>
</ul>
Biz hibernate.cfg.xml dosyasını kullanalım.
Projenizde Test1.java dosyasının bulunduğu paketin üstüne sağ tıklayarak New>File seçenekleri ile <b>hibernate.cfg.xml</b> adında yeni bir dosya oluşturun. </p>

<p>İçeriğini de şöyle belirleyin</p>

<pre class='prettyprint'><code>&lt;!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"&gt;

&lt;hibernate-configuration&gt;
   &lt;session-factory&gt;
        &lt;property name="hibernate.connection.driver_class"&gt;
                org.firebirdsql.jdbc.FBDriver
        &lt;/property&gt;
    &lt;property name="hibernate.connection.url"&gt;
                jdbc:firebirdsql:localhost/3050:c:/test.fdb
        &lt;/property&gt;
    &lt;property name="hibernate.connection.username"&gt;
                 SYSDBA
         &lt;/property&gt;
     &lt;property name="hibernate.connection.password"&gt;
                masterkey
         &lt;/property&gt;
     &lt;property name="dialect"&gt;
               org.hibernate.dialect.FirebirdDialect
         &lt;/property&gt;
     &lt;property name="show_sql"&gt;false&lt;/property&gt;
  &lt;/session-factory&gt;
&lt;/hibernate-configuration&gt;
</code></pre>

<p>Daha önce yazdığımız Test1.java dosyasının içeriğini de artık değiştirebiliriz.</p>

<pre class='prettyprint'><code>import org.hibernate.cfg.Configuration;

public class Test1 {
  public static void main(String[] args) {
    Configuration conf = new Configuration();
    conf.configure()
            .buildSessionFactory()
            .openSession()
            .close();
  }
}
</code></pre>

<p>Hibernate&#8217;e diğer veritabanlarını kullanarak bağlantı kurmayı deneyebilirsiniz. Yapmanız gerekenler
<ul>
<li>Bağlantı kuracağınız veritabanının Jar dosyalarını projeye eklemek,
<li>Bağlantı için gerekli URL&#8217;yi değiştirmek
<li>Bu veritabanına ait dialect sınıfının yolunu yazmak. Bu dialectlerin bir listesi hibernate içindeki dokümanlarda belirtilmiştir.
<li>Kullanıcı adı ve şifreyi belirtmek
</ul></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thexpot.net/2006/04/old50/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Hibernate</title>
		<link>http://www.thexpot.net/2006/04/old49/</link>
		<comments>http://www.thexpot.net/2006/04/old49/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>ibrahim dursun</dc:creator>
				<category><![CDATA[Yazılar]]></category>
		<category><![CDATA[Araçlar]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<a href="http://www.hibernate.org">Hibernate</a>, Java ile yazılmış ve özellikleri itibariyle de Java camiasında kabul görmüş ORM (Object Relation Mapping) katmanıdır. Hibernate, birçok veritabanıyla çalışabilir. Şu an için söyleyebileceklerim Hibernate'in yazılımcı için en büyük avantajı Domain Modelin (Tanım Modelinin) veritabanından soyutlanarak yazılmasına imkan tanımasıdır.  ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hibernate.org">Hibernate</a>, Java ile yazılmış ve özellikleri itibariyle de Java camiasında kabul görmüş ORM (Object Relation Mapping) katmanıdır. Hibernate, birçok veritabanıyla çalışabilir. Şu an için söyleyebileceklerim Hibernate&#8217;in yazılımcı için en büyük avantajı Domain Modelin (Tanım Modelinin) veritabanından soyutlanarak yazılmasına imkan tanımasıdır.  <!--break--></p>

<p>Adım adım Hibernate ile neler yapılabileceğini açıklamaya çalışacağım. Örnekleri denemek ve çalıştırmak için  Eclipse kullanın. Konu başlıkları ise aşağıdaki gibi:</p>

<p><b>Henüz tamamlanmadı ve eklemeler devam edecek</b> (02.03.2008: Eklemeler devam etmeyecek <img src='http://www.thexpot.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thexpot.net/2006/04/old49/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
