Java Eclipse Hibernate Tools ile Tablo Entity(ORM) Sınıflarını Oluşturma
Hibernate ve Tablo Entity Hakkında
Hibernate Tools ile Tablo Entitiy sınıflarını oluşturmadan önce kısa bilgi verelim.
Hibernate bir nesne/İlişkisel (Object/Relational Mapping) aracıdır.
ORM(Object/ Relational Mapping), object oriented dillerdeki nesnelerin, ilişkisel veritabanindaki (Relational Database) kayıtlara nasıl karşılık geldiğini yürüten bir teknolojidir.
Hibernate bizden veritabanındaki işlemleri yapmak için java kısmında tabloların karşılığı olan bir Entitiy (Model) bekler.
Örneğin,
User adında bir tablo > Ad,Soyad şeklinde alanları olsun
Hibernate User adında(başka isimde olabilir mapping ile bağlanır) bir sınıf bekler ve şu değişkenler olmalıdır > Ad,Soyad
Bu yazıda Hibernate Tools ile Oracle Veritabanı bağlantısı kullanarak Tablo Entity sınıflarını oluşturacağım
Hibernate Tools kullanımı
1 ) Database Connection Tanımlanması
İlk olarak ben Oracle DB kullanacağım.Window > Perspective > Open Perspective > Other
Database Developtment
Database Connection alanımız boş. > New
Ben Oracle veritabanı kullanacağım.Name alanını da atakancoban olarak düzenledim
Bu alanda ben önceden oluşturduğum için dolu geldi. Sizde boş olmalı sağdaki Artı butonu ile yeniden yapacağım.
Driver versiyon seçelim ben 11 seçtim.
Jar/List alanında ojdbc14.jar şeklinde bir jar gösteriyor.Ben sistemimdeki projemde kullandığım ojdbc6 jar dosyamı göstereceğim.Add Jar butonu ile kendi oracle jar dosyamızın yolunu gösterelim.ocdbc14.jar dosyasını remove edelim.
Jar yolum bu şekilde.
Burada jar içinde connection bilgilerimizi girelim
Bilgilerimizi de girdikten sonra Ok diyelim ve Database Connection hazır. Şimdi Hibernate Tools kullanımına geçebiliriz.
2 ) Hibernate Tools Kullanımı ve Tablo Entity oluşturulması
İlk olarak Window > Perspective > Open Perspective > Other
Open Perspective > Hibernate seçelim ve OK
Hibernate Configuration alanımız ekrana geldi ve şuan tanımlı bir configuration bulunmuyor.
Sağ tık > Add Configuration
Edit Configuration >
Annotation radio butonunu seçelim.
Project alanında projemizi seçelim.
Database Connection alanında 1.Başlıkta anlattığım ve oluşturduğum atakancoban isimli connectionu seçelim.
Son olarak Configuration File oluşturmak için > Setup
Create New >
Ben yazıyı yazmadan önce oluşturmustum o nedenle zaten mevcut şeklinde bir uyarı var sizde bu olmayacak.
main>java içinde oluşturalım.Sizde NEXT açık durumda olacak.
Get Values from Connection seçelim
Oluşturduğumuz atakancoban adlı connectiondan bilgileri almasını sağlayacağız.
Hibernate Configurations alanında configurationumuz oluştu.
hibernate xml dosyamız da oluştu
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property> <property name="hibernate.connection.url">jdbc:oracle:thin:@ipadresi:1521:SID</property> <property name="hibernate.connection.username">username</property> <property name="hibernate.connection.password">password</property> <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property> </session-factory> </hibernate-configuration>
Window>Perspective>Open Perspective>Hibernate seçelim ve ekranda hibernate tool menüsünü seçelim
Hibernate Code Generation aracımızda > New
Hibernate Tools
Output directory olarak ben ana dizini gösterdim.
Package seçeceğiniz için entity sınıflarınız java/com/atakancoban/orm altına çıkacaktır.Ona göre paket adına göre ayarlayın
revenge.xml alanı ben önceden oluşturmuştum.yeniden oluşturacağım. > Setup
Diğer alanları ekrandaki gibi düzenleyelim.
Create New>
Bu ekran Reverse Engineering yapılmasını sağlayacak ayar dosyamızı oluşturmaya yarar.Benim veritabanım büyük ve Refresh kısmında donma oluyor.Ben Schema ve Tablo adımı biliyorum. İnclude diyerek bir satır ekledim. Table alanında .* yazarak tüm tabloları oluştur diyebilirsiniz.Bende tablo çok olduğu için test tablomu(ZZ_ATAKAN_PERSON) Entitiy oluştur şeklinde örnek yapacağım.
revenge.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" > <hibernate-reverse-engineering> <table-filter match-schema="FCBSADM" match-name="ZZ_ATAKAN_PERSON"/> </hibernate-reverse-engineering>
revenge.xml oluştuktan sonra ekranı resimdeki gibi işaretleyelim.
Exporters kısmında ben ENTITIY yani (Domain Code) olan alanı seçtim.
Xml ile mapping yapmayacağım için seçmedim.Kullancaksanız seçebilirsiniz.
Son olarak run diyelim resimdeki gibi seçtiğim alana Hibernate tools ile tablo entitiy sınıfımı oluşturdum
@Entitiy sınıfımız hazır.
Bu @Entity sınıfını kullanarak hibernate CRUD işlemleri (Veritabanına kayıt ekleme, Kayıt silme , Kayıt Güncelleme ve Kayıtları listeleme) örneği yaptım. >> (Yazıyı Oku)
Spring Framework ve Hibernate ile ilgili uzmanlık gerektiren yardım için > Şükrü Çakmak