ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu



Benzer belgeler
JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

YZM 3215 İleri Web Programlama

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

Java EE 5 Teknolojileri Jboss Seam

JBoss Seam Next Generation Integration Framework

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

LINQ (Temel Kavramlar)

ÖZGÜR YAZILIMLAR İLE J2EE

Asp.Net Veritabanı İşlemleri

Veritabanı İşlemleri

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

Rahman USTA Editör Altuğ B. ALTINTAŞ Papatya Yayıncılık Eğitim

LINQ Language Integrated Query Dille Bütünleştirilmiş Sorgu Bir Veri Tabanı Tablosundan Veri Gösterme

Açık Kaynaklı J2EE Geliştirme Araçları. Ahmet Işık İdeal Teknoloji A.Ş.

HACETTEPE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Swing ve JDBC ile Database Erişimi

Client Server Database

İnternet Programcılığı

THY A.O. Bilgi Teknolojileri Alanında Tecrübeli Çalışma Arkadaşları Arıyor

VERİ TABANI ve YÖNETİMİ

Veri Tabanı-I 1.Hafta

Implementation of the Hibernate Persistence Layer

1. Bölüm Java da Nesne Kalıcılığının Temelleri

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI UYGULAMALARI

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

PostgreSQL ve PL/pgSQL

Spring Application Framework Harezmi Bilişim Çözümleri

T.C. ADALET BAKANLIĞINDAN

SQL e Giriş. Uzm. Murat YAZICI

VERİ TABANI YÖNETİM SİSTEMLERİ

ADO.NET Entity. Framework. Temel Kavramlar

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

BİLİŞİM TEKNOLOJİLERİ

EGE ÜNİVERSİTESİ. Enterprise Java Beans ve Java Persistence API. Grup Üyeleri

JBoss Seam. Melih Sakarya

MVP, Observer ve Mediator Örüntüleri ile Yeniden Kullanılabilir Uygulama Bileşenleri Geliştirme

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

BMB202. Veritabanı Yönetimi Ders 12. ORM, LINQ, XML, JSON. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

PostgreSQL ve PL/pgSQL

VeriTabanı Uygulamaları

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

«BM364» Veritabanı Uygulamaları

Veritabanı Tasarımı. Introduction to the Oracle Academy

Spring Security Framework Harezmi Bilişim Çözümleri

BLM401 Mobil Cihazlar için ANDROID İşletim Sistemi. SQLite Veritabanı. BLM401 Dr.Refik SAMET

İçindekiler JPA - Genel Konular...1 Genel Bilgiler...1 JPA Hakkında...1 Temel Kavramlar...3 Kurulum ve Yapılandırma...3 Yapılandırma Dosyası

2 Temel Kavramlar (Devam) Veritabanı 1

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Spring Application Framework e Giriş

Postgresql: Web Programcısı için Gündelik İpuçları Postgres 2014 Türkiye

SQL Server 2008 ile Tanışma"

Spring Framework Eğitimi

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Gönderilen uygulama incelendiğinde, belirtilen gerekliliklerin bir kısmının karşılandığı görülmüştür.

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

İNTERNET PROGRAMCILIĞI DERSİ

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

JDBC kütüphanesi, her görev için genellikle veritabanı kullanımı ile ilişkili API leri içerir:

Oracle Database 11g: Introduction to SQL

1 Temel Kavramlar. Veritabanı 1

Bilgi Servisleri (IS)

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

YBS104 - VERİ TABANINA GİRİŞ. Yrd. Doç. Dr. Fırat YÜCEL Akdeniz Üniversitesi Enformatik Bölümü

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

Veritabanı Tasarım ve Yönetimi (COMPE 341) Ders Detayları

MOBİL UYGULAMA GELİŞTİRME

Oracle da kullanılan veri tipleri:

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

SQL Komutları (2) Uzm. Murat YAZICI

SQL (Structured Query Language)

Üst Düzey Programlama

OPNET IT Guru- Güvenlik Duvarı ve Sanal Özel Ağ (Firewalls and Virtual Private Network, VPN)

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

PHP CodeIgniter MVC Framework

BLM 6196 Bilgisayar Ağları ve Haberleşme Protokolleri

Veritabanında Saklı Yordamlar: Bir Veritabanı Tasarımı ve Web Uygulaması

VERİTABANI Veritabanı Yönetimi

Veri Ambarından Veri Madenciliğine

Veritabanı. Ders 2 VERİTABANI

BT İşyükü Otomasyonu Çözümleri.

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

VERİTABANI. SQL (Structured Query Language)

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

HP Yazılım Zirvesi - İstanbul 20 May Wyndham Grand Levent Erdem Alaşehir / Finansbank Güvenlik Olay Korelasyonunda Büyük Veri Kullanımı

Business Delegate Tasarım Şablonu KurumsalJava.com

.com. Özcan Acar 2009 Kurumsal Java.com

Basit bir web uygulaması

Transkript:

ORM & Hibernate Ahmet Demirelli SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı Seminerleri 2008

Hakkımızda SabancıÜniversitesi BT Yüksek Lisans Programı Yüksek Lisans Eğitimi Programlama (Java, JavaEE,.NET, C#,Php) Database (Oracle, MySQL,MSSQL, PL/SQL) Network (LAN,WAN, Router Configuration.etc) Sistem ve Network Güvenliği http://www.sabanciuniv.edu/mdbf/kcenter/tr/ Kurumsal Java eğitimleri http://www.sabanciuniv.edu/btem En yakın eğitim : SPRING ve HIBERNATE 15 Aralık 2008 (Ingilizce) Teknoloji danışmanlığı ve yazılım projeleri geliştime

Seminerin amacı Framework nedir ORM nedir Hazır ORM Frameworkleri Hibernate Perisitence Object Hibernate config Hibernate Mapping Database işlemleri - HQL JPA Örnek Uygulama Ajanda

Seminerin amacı Amaç

Framework Kolay uygulama geliştirme ortamı sunar Developer tarafından çokça yapılan ve zaman alan işleri kolaylaştırmak (db access,mvc..etc) I18n kolaylaştırır (UI tarafında) Uygulamanın büyümesini kolaylaştırmak Tek noktadan kontrolü sağlamak (xml config) Mevcut uygulamaya yeni bir işlem veya servis yazmak için izlenecek yol bellidir Her katman için yazılmış open source frameworkler var

ORM Frameworkleri ORM Frameworku nedir Object / Relational Mapping Sürekli olan DB ve SQL sorgulamaları (Uygulama kodlarının 1/3 ü DB erişimine yöneliktir) Veritabanından alınan bilgileri nesnelere dönüştürmek Java nesnelerimizi tablolara yazmak Transaction Management Performansı arttırır /bakımı kolaylaştırır DB erişim katmanına uygulama geliştiricilere kolaylık sağlar

Popüler ORM Frameworkleri ORM Frameworkleri Hibernate Toplink JPA OpenJPA...

Hibernate En popüler ORM framework Container dışında da kullanılabilir (Ornek: Swing uygulamaları) Son yıllardaki geliştirilen kurumsal uygulamaların genelde veri erişim katmanı olarak hibernate kullanırlar JPA standartı yayınlandıktan sonra yok olacağı düşünülebilir fakat JPA desteği olduğu için persistence provider hibernate kullanılabilir Çok fazla kabul gördüğü için JPA standartı geliştirilirken toplink ile beraber örnek alınmıştır

Örnek Uygulama Hibernate

Persistence Object Persistence Object veya Entity Persistence Object Ogrenci ogrencino ad soyad Veritabanında tablolarda saklanacak bilgilerin Java nesnesi olarak karşılığı POJO (Plain Old Java Objects) Bildigimiz java sınıfından başka bibirşey değil Table

Hibernate Konfigürasyon Dosyası hibernate.properties (text file) hibernate.cfg.xml (xml file)

Hibernate Konfigürasyon Dosyası

XML Mapping Hibernate tarafından yönetilmesini istediğimi her class için bir mapping (eşleştirme) gereklidir. Tablo lar ile Java Sınıfları (POJO) arasındaki eşleştirme bilgisini tutar Tek dosyada veya her mapping ayrı bir dosyada yapılabilir

XML Mapping Employee.java Employees Tablosu Employee.hbm.xml

Kod Kullanım Oturum Açma Configuration cfg = new Configuration(); cfg.configure(); SessionFactory sessionfactory = cfg.buildsessionfactory(); Session session = sessionfactory.opensession();

Kod Kullanım - Transaction Transaction tx = session.begintransaction(); //insert-update-delete işlemleri tx.commit();

Kod Kullanım - Select Department dept = (Department)session.get(Department.class, 1);

Kod Kullanım - Insert Employee e = new Employee(); e.setempname("ahmet"); e.setemplastname("demirelli"); e.setempdeptno(1); Transaction tx = session.begintransaction(); session.save(e); tx.commit();

Kod Kullanım - Update Employee emp = new Employee(); emp.setempno(1); emp.setempname("ali"); emp.setemplastname("desidero"); emp.setempdeptno(3); Transaction tx = session.begintransaction(); session.merge(emp); tx.commit();

Kod Kullanım - Delete Employee emp = (Employee)session.get(Employee.class, 17); Transaction tx = session.begintransaction(); session.delete(emp); tx.commit();

HQL Hibernate Query Language SQL benzeri bir sorgulama dili Istediğimiz herhangi bir sql sorgulaması yapabilmemiz için var String hql = "from Employee employees where empno>2"; Query query = session.createquery(hql); List l = query.list();

JPA Hibernate, Toplink ve JDO iyi yönleri alınmış ve ORM için standart bir persistence frameworkü için bir standartlar belirlemiştir. POJO temellidir (Herhangi bir class tan veya interface den türetilmek zorunda değildir) Sınıflar ve DB arasındaki eşleştirmeler Annotation lar kullanılarak tanımlanabildiği gibi XML ile de yapılabilir Persistence provider olarak Hibernate veya Toplink seçilebilir. Container bağımlı değildir (Yani bir application server a ihtiyaç duymaz)

SORULAR ahmetdemirelli@sabanciuniv.edu http://people.sabanciuniv.edu/ahmetdemirelli