Hibernate - Contoh Program Hibernate + Oracle 11g Menggunakan XML Mapping

Pada tutorial kali ini, saya akan memperlihatkan bagaimana cara mengintegrasikan hibernate 3.6 dengan Oracle 11g disertai contohnya.

Tools yang digunakan yaitu:
  • Hibernate 3.6
  • Oracle 11g

1. Create Table MAHASISWA

Buatlah table Mahasiswa di Oracle 11g seperti dibawah ini
File : table_mahasiswa.sql

CREATE TABLE MAHASISWA ( 
  NPM       VARCHAR2 (10)  NOT NULL, 
  NAMA      VARCHAR2 (50)  NOT NULL,
  GENDER    CHAR (1)       NOT NULL,  
  FAKULTAS  VARCHAR2 (20)  NOT NULL, 
  JURUSAN   VARCHAR2 (20)  NOT NULL, 
  PRIMARY KEY ( NPM ) 
)

2. Create Kelas Mahasiswa (Model)

Buatlah kelas Mahasiswa seperti dibawah ini:
File: Mahasiswa.java

package com.nursalim.javabae.hibernate.model; 

public class Mahasiswa implements java.io.Serializable {
 
 private String npm;
 private String nama;
 private String gender;
 private String fakultas;
 private String jurusan;
 
 public Mahasiswa() {
 }
 
 public Mahasiswa(String npm, String nama, String gender) {
  this.npm = npm;
  this.nama = nama;
  this.gender = gender;
 }
 
 public String getNpm() {
  return this.npm;
 }
 
 public void setNpm(String npm) {
  this.npm = npm;
 }
 
 public String getNama() {
  return this.nama;
 }
 
 public void setNama(String nama) {
  this.nama = nama;
 }
 
 public String getGender() {
  return this.gender;
 }
 
 public void setGender(String gender) {
  this.gender = gender;
 }
 
 public String getFakultas() {
  return this.fakultas;
 }
 
 public void setFakultas(String fakultas) {
  this.fakultas = fakultas;
 }
 
 public String getFakultas() {
  return this.fakultas;
 }
 
 public void setFakultas(String fakultas) {
  this.fakultas = fakultas;
 }
 
 public String getJurusan() {
  return this.jurusan;
 }
 
 public void setJurusan(String jurusan) {
  this.jurusan = jurusan;
 }
 
}

3. Create Hibernate XML Mapping (Mahasiswa.hbm.xml)

Buatlah file Mahasiswa.hbm.xml, seperti dibawah ini:
Hibernate + oracle 11g Menggunakan XML Mapping
File Mahasiswa.hbm.xml

4. Create Hibernate Configuration File (hibernate.cfg.xml)

Buatlah file hibernate.cfg.xml, seperti dibawah ini
Hibernate Configuration File
File hibernate.cfg.xml


5. Create Hibernate Util Class untuk proses manajemen session

Buatlah kelas HibernateUtil untuk menghandle proses manajemen Session seperti dibawah ini:
File : HibernateUtil.java

package com.nursalim.javabae.hibernate.util;
 
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
 
public class HibernateUtil {
 
 private static final SessionFactory sessionFactory = buildSessionFactory();
 
 private static SessionFactory buildSessionFactory() {
  try {
   // Create the SessionFactory from hibernate.cfg.xml
   return new Configuration().configure().buildSessionFactory();
  } catch (Throwable ex) {
   // Make sure you log the exception, as it might be swallowed
   System.err.println("Initial SessionFactory creation failed." + ex);
   throw new ExceptionInInitializerError(ex);
  }
 }
 
 public static SessionFactory getSessionFactory() {
  return sessionFactory;
 }
 
 public static void shutdown() {
  // Close caches and connection pools
  getSessionFactory().close();
 }
 
}

6. Final Project Structure


7. Create Test Class

Buatlah kelas HibernateTestDemo untuk memasukkan data ke table Mahasiswa seperti dibawah ini:
File : HibernateTestDemo.java


package com.nursalim.javabae.hibernate;
 
import java.util.Date;
import org.hibernate.Session;
import com.nursalim.javabae.hibernate.HibernateUtil;
import com.nursalim.javabae.hibernate.model.Mahasiswa;
 
public class HibernateTestDemo {
 public static void main(String[] args) {
  Session session = HibernateUtil.getSessionFactory().openSession();
 
  session.beginTransaction();
  Mahasiswa parman = new Mahasiswa();
 
  parman.setNpm("20144098989");
  parman.setNama("Suparman");
  parman.setGender("L");
  parman.setFakultas("Teknik");
  parman.setJurusan("Teknik Informatika");
 
  session.save(parman);
  session.getTransaction().commit();
 }
}
8. Download File Pendukung + Source Code


Post a Comment