Java sınıflarını @Entity olarak veritabanı tablolarına dönüştürebiliyoruz. Peki, tersine mühendislik(Reverse Engineering) yordamını kullanarak tabloları Java sınıflarına dönüştürmek mümkün mü ?
Java sınıflarını veritabanına haritalamak konusu için bkz.
Hibernate bizim için @Entity anotasyonu eklediğimiz pojo sınıflarını veritabanına otomatik olarak haritalıyordu. Hibernate Tools kullanarak bu işlemin tam tersini yapmak mümkün. Yani önce tabloları oluşturup daha sonra bu tabloları otomatik olarak Java sınıflarına dönüştürebiliyoruz.
Gerekli Araçlar :
–Hibernate Tools (Hibernate Tools, Jboss Tools içerisinde yer alan bir bileşen. Bu nedenle JBoss indirme bağlantısını paylaşıyorum. Kurulum esnasında Hibernate Tools tek başına seçilebilir.)
Not: Örnek uygulama, Eclipse üzerinde yapılmıştır.
Nasıl Yapılır ?
Yukarıda belirttiğim araçlar kurulduktan sonra Windows/Perspective/Open Perspective/Other seçeneklerini takip ederek gelen menüden Database Development perspektifine geçiş yapın.
Data Source Explorer penceresi açık değilse Window/Show View/Other/Data Source Explorer yoluna giderek açabilirsiniz. Gelen pencerede Database Connections adında bir klasör bulunmaktadır. Bu klasöre sağ tıklayıp New deyin. Aşağıdaki pencere açılacaktır. Bu kısımda :
– 2, 3, 4, 5, 6 numaralı kısımlara kendi DB bilgilerinizi girin.
-1 numaralı kısma tıkladığınızda aşağıdaki pencere açılacak.
-1 numaralı kısımda işimiz bittikten sonra 7 numara ile gösterilen Test Connection butonu ile veritabanımıza ping gönderiyoruz. Succeed mesajının alınması, yaptığımız konfigürasyonda herhangi bir sorun olmadığı ve veritabanı ile sağlıklı bir şekilde iletişim kurulduğu anlamına geliyor.
-1 numaralı sekmeden kullandığınız db’nin versiyonunu seçin.
-2 numara ile gösterilen uyarı ile karşılaşırsanız 3. adıma geçin. Karşılaşmamanız halinde OK diyerek işlemi sonlandırabilirsiniz.
-3 numaralı sekmeden bu veritabanı bağlantısı için gerekli jar kütüphanesinin yolunu belirtin.
Bu işlemler bittikten sonra veritabanı için bir bağlantı oluşturmuş olduk.
Şimdi yukarıda Database Development perspektifine geçerken izlediğiniz yolu tekrar izleyin ve bu kez Hibernate Perspective’i seçin.
Hibernate Configurations penceresi açık değilse yukarıdaki gibi Window sekmesinden bulabilirsiniz. Hibernate Configurations penceresi üzerinde sağ tıklayıp Add Configurations’ı seçin.
Aşağıdaki ekran açıldıktan sonra numaralandırılmış kısımları sırasıyla doldurun.
1 numaralı kısıma sizin belirleyeceginiz herhangi bir isim girin.
2 numaralı kısımda projenizi seçin.
3 numaralı kısımda , Database Development perspektifinde oluşturduğumuz bağlantının adını seçin.
4 numaralı kısımda property dosyanızı yada Configuration File kısmında hibernate.cfg dosyanızı seçip OK’a tıklayın.
Daha sonra Hibernate Configurations penceresi aşağıdaki görünümü alacaktır. Eğer işler yolunda gittiyse Database kısmından tablolarınıza erişebiliyor olmanız lazım.
Hibernate perspektifinde Run/Hibernate Code Generation Configurations seçeneğini tıklıyoruz. Aşağıdaki ekran geldikten sonra kırmızı ile işaretlediğim yerlere gerekli bilgileri girin.
Exporters sekmesinde reverseEng işlemi sonrası ne oluşturulması gerektiğini seçin. (Java sınıfı, konfigurasyon dosyası gibi.)
Output Directory kısmına projenin kök dizinini girin.
Package kısmına entity sınıfının hangi dizine oluşturulacağını girin.
reveng.xml –> Setup’a tıklayın. Aşağıdaki ekran geldikten sonra sol taraftan Entity’e dönüştürülmesini istediğiniz tablo veya tabloları seçin ve include’a tıklayın. Finish deyin ve üstteki pencereye geri dönün. Buradan da Run seçeneğini tıkladığınızda haritalama işlemi başlayacaktır.