Home > Java > Java Application, JBoss, EJB dan Hibernate

Java Application, JBoss, EJB dan Hibernate


Software yang dibutuhkan

  • Java Development Kit 6
  • Tools Development
    • Netbeans 6.5 atau versi sesudahnya
    • Eclipse dengan hibernate-extensions
  • JBoss-5.1.0.GA
  • Hibernate 3.3.1 GA
  • Relational Database (disini digunakan MySQL 5)
  • Optional
    • MySQL Workbench
    • UML Plugin

Pengenalan Hibernate

 

Hibernate adalah suatu alat yang digunakan untuk melakukan Object Relational Mapping (ORM) pada lingkungan java. Istilah ORM mengacu pada teknik untuk memetakan data yang terletak pada objek ke database relational.

ORM sendiri adalah untuk mengkonversi tipe data antara dua hal yang tidak kompatibel yaitu database relasional dan pemrograman berorientasi obyek bahasa. Dimana database relational berbicara mengenai kolom, record sedangkan pada pemrograman berorientasi objek pada attribut dan objek.

Hibernate tidak hanya mengatur pemetaan antara kelas kelas di java ke tabel di database, tapi juga memberikan mekanisme pengolahan data. Hal ini akan mempercepat proses pengembangan dibandingkan cara manual dengan melakukan penanganan data melalui SQL dan JDBC. Merupakan sebuah proyek Open Source profesional dan komponen terpenting dari JBoss Enterprises Middleware System.

Fitur hibernate :

  1. Fitur pemetaan yang fleksibel
  2. Fitur pemetaan seperti inheritance dan polymorphism
  3. HQL yang bebas vendor database
  4. Assosiasi join secara otomatis
  5. Tidak akan mengupdate objek yang tidak dimodifikasi
  6. Mengurangi penulisan baris kode program

Arsitektur Hibernate

 

Alur proses JDBC :

  1. Load spesifik RDBMS JDBC driver karena driver ini benar-benar berkomunikasi dengan database.
  2. Buka koneksi ke database yang kemudian digunakan untuk mengirimkan pernyataan SQL dan mendapatkan hasil belakang.
  3. Buat Pernyataan JDBC objek. Objek ini mengandung query SQL.
  4. Jalankan pernyataan yang mengembalikan ResultSet (s). ResultSet berisi tupel dari tabel database sebagai hasil dari query SQL.
  5. Proses hasil ditetapkan.
  6. Tutup koneksi.

Alur proses Hibernate :

  1. Memuat berkas konfigurasi Hibernate dan menciptakan objek konfigurasi. Ini akan otomatis memuat semua pemetaan hbm file. (di awal)
  2. Buat sesi konfigurasi dari objek (di awal)
  3. Dapatkan satu sesi (di awal)
  4. Buat HQL query.
  5. Mengeksekusi query untuk mendapatkan daftar yang berisi objek Java.

 

 

 

Aplikasi Inventory

 

 

  1. Deskripsi

    Merupakan modul aplikasi yang mengolah data-data stock, spare parts, barang-barang habis pakai, dan data permintaan perbaikan yang dilakukan oleh user. Data-data tersebut disimpan ke dalam database, setiap spare parts yang dibutuhkan untuk perawatan alat akan dibagi dalam kategori yang sesuai dengan fungsi spare parts tersebut.

    Aplikasi Inventory terdiri dari modul-modul yang saling berkaitan yang terbagi menjadi :

    1. Modul Stock

      Pada modul ini terdapat data detail stock beserta kebutuhannya untuk keperluan perawatan aset, kategori dan group dari stock / spareparts di sesuaikan dengan asetnya. Terdiri dari 3 submodul yakni

      1. Master Stock

        Merupakan modul aplikasi yang berfungsi untuk mengelola pendefinisian data stock baik barang habis pakai atau spare parts

      2. Category

        Modul untuk mengelola data kategori asset.

      3. Penyalur

        Modul untuk mengelola data penyalur asset.

    2. Modul Quotation

      Modul ini berisikan permintaan kebutuhan barang yang berupa stock yang diperlukan untuk kebutuhan/perawatan alat.

    3. Report

      Merupakan modul pelaporan yang menampilkan data-data yang berkaitan dengan proses manajemen stock beserta data pemakaian barang tersebut.

      Terdiri dari 2 modul yaitu

      1. Stock

        Menampilkan data stock barang berdasarkan beberapa criteria yang inginkan oleh user.

      2. Permintaan

        Menampilkan history permintaan kebutuhan barang yang berupa spareparts / stock

  2. Arsitektur Aplikasi

    Arsitektur aplikasi yang akan dibuat adalah sebagai berikut

     

  3. Diagram UML Aplikasi Inventory
    1. Use Case Diagram

 

 

 

 

 

 

 

  1. Class Diagram

  1. Squence Diagram
    1. Squence Diagram Login

 

  1. Squence Diagram Get Kategori

  1. Squence Diagram Add Kategori

 

 

 

 

 

 

  1. Squence Diagram Edit Kategori

  1. Squence Diagram Del Kategori

 

 

 

 

 

 

 

 

  1. Squence Diagram Pembelian Barang

 

 

 

 

 

 

 

 

 

 

 

  1. Squence Diagram Permintaan Barang

  1. Squence Diagram Get Penyalur

 

 

 

 

 

 

 

  1. Squence Diagram Add Penyalur

  1. Squence Diagram Edit Penyalur

 

  1. Squence Diagram Del Penyalur

 

  1. Squence Diagram Get Stock

 

 

 

 

 

 

 

 

  1. Database Aplikasi Inventory


Membuat database dari file database.sql

  1. Jalankan phpMyAdmin anda
  2. Ciptakan database baru, beri nama inventory, klik Ciptakan

  3. Kemudian pilih Import, pilih file database.sql dengan tombol Choose File kemudian klik Go

 

 

 

 

 

  1. Maka anda akan memiliki database inventory

 

Hibernate di Netbeans

  • Mengaktifkan Fasilitas Java EE di Netbeans (bagi yang belum aktif)
    • Melalui menu Tools à Plugin

    • Pada dialog window Plugins, pilih tab Installed, beri tanda Check pada pilihan Java Web dan EE lalu klik Activate

    • Maka muncul window Netbeans IDE Installer berikut klik Activate
    • Setelah proses klik finish
  • Mengaitkan JBoss di Netbeans (Java Bean Open Source Software)

    Sebuah projek open source yang dimulai oleh Marc Fleury pada tahun 1999 yang mendukung implementasi dari Enterprise Java Bean (EJB). Pada mulanya proyek ini bernama EJBoss (Enterprise Java Bean Open Source Software) akan tetapi tidak disukai oleh SUN karena menggunakan kata EJB, sehingga dari kata EJBoss dihilangkan huruf Enya.

    • Pastikan anda sudah memiliki JBoss-5.1.0.GA

    • Dari Netbeans, pilih menu Windows à Services

    • Setelah muncul Tab Services, klik kanan pada Servers à Add Server…

    • Setelah muncul Window daftar Server, pilih JBoss Application Server
    • Untuk server location gunakan “E:\jboss-5.1.0.GA” atau lokasi JBoss anda lalu Next

     

    • Pada Window Add Server instance, domain pilih default à Finish

    • Anda akan mendapatkan JBoss Application Server pada list Server anda

  • Mengaitkan MySQL di Netbeans
    • Pastikan MySQL Server anda sudah jalan
    • Silahkan anda buat database dengan nama inventory dan gunakan file inventory.sql untuk melakukan generate database
    • Pilih Window à Services
    • Klik kanan Databases à Register MySQL Server

    • Server name tuliskan localhost, port 3306, user name root, password sesuaikan dengan password di mysql anda, klik OK

    • Anda akan mendapatkan tampilan berikut

    • Klik kanan à Connect bila daftar database belum muncul
    • Klik kanan inventory à Connect

    • Anda akan mendapatkan tampilan sebagai berikut

       

  • Konfigurasi Hibernate

    Konfigurasi hibernate akan menciptakan objek konfigurasi, mengatur konfigurasi untuk hibernate dan secara otomatis akan memuat semua pemetaan hbm file.

    • Buat project Java Class Library melalui menu File à New Project
    • Pada Categories pilih Java, pada Projects pilih Java Class Library à Next

    • Pada project Name beri nama InventoryMapping, beri tanda check pada use dedicated folder for storing libraries à Finish

    • Anda akan mendapat tampilan sebagai berikut

    • Tambahkan hibernate configuration file melalui menu

    File à New File

     

     

     

     

    • Pada Projects pilih InventoryMapping, Categories pilih Hibernate, pada File Types pilih Hibernate Configuration Wizard à Next

    • Biarkan apa adanya à next
    • Database Connection pilih : Jdbc:mysql://127.0.0.1:3306/Inventory [root on DefaultSchema] Tekan Finish

    • Anda akan mendapatkan tampilan sebagai berikut

    • Silahkan anda cari Optional Properties

    kemudian anda cari Miscellaneous Properties

    Klik Add

    • Pada property name pilih hibernate.current_session_context_class dan pada property value pilih jta

    • Apabila anda klik XML maka akan tampil file XML berikut ini

     

     

    Keterangan :

    • hibernate.dialect

    informasi dari dialect engine SQL Server yang digunakan

    contoh :

Database Dialect
PostgreSQL org.hibernate.dialect.PostgreSQLDialect
MySQL org.hibernate.dialect.MySQLDialect
MySQL with InnoDB org.hibernate.dialect.MySQLInnoDBDialect
MySQL with MyISAM org.hibernate.dialect.MySQLMyISAMDialect
Microsoft SQL Server org.hibernate.dialect.SQLServerDialect

 

  • hibernate.connection.driver_class

    informasi driver jdbc dari database yang digunakan

    contoh :

Database Driver Class
PostgreSQL org.postgresql.Driver
MySQL com.mysql.jdbc.Driver
Microsoft SQL Server net.sourceforge.jtds.jdbc.Driver

 

  • hibernate.connection.url

    informasi url koneksi database yang digunakan

    contoh :

Database Driver Class
PostgreSQL jdbc:postgresql://127.0.0.1:5432/Inventory
MySQL jdbc:mysql://127.0.0.1:3306/Inventory
Microsoft SQL Server jdbc:jtds:sybase://127.0.0.1:1433/Inventory

 

  • hibernate.connection.username

    user name database

  • hibernate.connection.password

    password database

  • hibernate.current_session_context_class
    • thread

      Sesi akan diikat dengan thread yang melakukan pemanggilan open session, apa bila session ditutp maka tidak dapat digunakan kembali

    • jta

      Sesi akan diikat kedalam JTA Transaction yang sedang berjalan

    • managed

      apabila kita menggunakan thread, kita tidak bisa menggunakan thread yang sudah di tutup, oleh karena itu kita kita menggunakan managed untuk mendapatkan kendali penuh pada session, seperti membuka dan menutup session.

  • Tambahkan property berikut pada file hibernate.cfg.xml
  • Hibernate Reverse Engineering file

    Digunakan untuk melakukan proses mapping dari tabel di database menjadi file java serta melakukan pemetaan antara tipe data kolom di database dan tipe data attribut di database.

    • Tambahkan hibernate reverse engineering file melalui menu

    File à New File

    • Pada Categories pilih Hibernate, pada File Types pilih Hibernate Reverse Engineering Wizard à Next

    • Biarkan apa adanya à next
    • Klik tombol Add all dan beri tanda check pada “Include Related Tables”

    sehingga pada Selected Tables menjadi berikut

     

     

     

     

     

    • Klik finish, Anda akan mendapatkan file xml dengan isi seperti berikut ini

 

 

 

 

 

 

 

 

  • Mapping table ke java

    Hibernate adalah sebuah framework untuk melakukan pemetaan Object Relational Mapping (ORM). Setiap 1 buah tabel di database maka akan dihasilkan 1 buah java class dan 1 buah file xml sebagai tempat menyimpan konfigurasi.

    • Untuk memulai proses mapping, pilih menu File à New File
    • Pada Categories pilih Hibernate, pada File Types pilih Hibernate Mapping Files and POJOs from Database à Next

    • Beri tanda check pada JDK 5 Language Features, Domain Code dan Hibernate XML Mappings. Pada package tuliskan inventory.model lalu Finish.

    • Anda akan medapatkan 16 buah file, yaitu 8 file java dan 8 file xml

  • HibernateUtil

    Digunakan untuk mempermudah pemanggilan Hibernate Session Objek.

    • Pilih menu File à New File
    • Pada Categories pilih Hibernate, pada File Types pilih Hibernate Mapping Files and POJOs from Database à Next

    • Pada Class Name beri nama HibernateUtil, pada package beri nama invetory.util kemudian tekan Finish

    • Maka anda akan mendapatkan seperti berikut

     

     

     

  • Unit Test

    Unit test digunakan untuk melakukan pengecekan apakah konfigurasi dan mapping tabel yang sudah kita lakukan sebelumnya berhasil atau tidak. Sebelum memulai membuat unit test, tambahkan data ke tabel barang melalui query.

    • Klik kanan pada HibernateUtil.java à Tools à Create Junit Tests

     

    • Pilih JUnit 4.x à Ok, Biarkan apa adanya bila muncul tampilan berikut, klik OK

    • Anda akan mendapatkan tampilan seperti berikut ini

    • Coba anda buka file HibernateUtilTest.java. Cari method dengan nama testGetSessionFactory. Secara default kode program dari method ini adalah sebagai berikut
  • Hapus kode program yang dicetak tebal, gantikan dengan kode program berikut :

    Penjelasan :

    • Session session = result.openSession();

      Memanggil method openSession() dari objek result untuk membuka session, kemudian disimpan di objek session yang merupakan instant dari kelas Session

    • session.beginTransaction();

      Memanggil method beginTransaction() dari objek session untuk memulai transaksi

    • Pengguna p = new Pengguna(“Amikom”, “Amikom”);

      Membuat objek pengguna dengan nama “Amikom”, password “Amikom”

    • s.save(p);

      Menyimpan objek pengguna ke database

    • Query query = session.createQuery(“from Pengguna”);

      Memanggil method CreateQuery(….) dari objek session untuk membuat Hibernate Query Language “from Pengguna” yang digunakan untuk mendapatkan semua record di tabel Pengguna.

      Hasilnya disimpan di objek query yang merupakan instant dari kelas Query

    • List<Pengguna> lstPengguna = query.list();

      Memanggil method list() dari objek query yang kemudian disimpan di objek lstPengguna yang merupakan instant dari Interface List dengan tipe kelas Pengguna sebagai itemnya.

    • for (Pengguna pg : lstPengguna) {

      Melakukan perulangan untuk mendapatkan semua item dari objek lstPengguna yang bertipe data Pengguna, setiap item disimpan di objek barang.

    • System.out.println(pg.getKodePengguna() + “\t”

+ pg.getNama() + “\t” + pg.getPassword());

Menampilkan kode pengguna, nama pengguna dan password yang dipisahkan dengan TAB.

 

  • Keluaran dari program diatas dengan melihat

    Pilih menu Window à Output à Test Results

 

Diatas menandakan bahwa test berhasil dilalui dengan membutuhkan waktu total 1,25 detik

  • Silahkan ganti file library hibernate anda dengan file berikut melalui menu Libraries à Add Jar/Folder

  • Tambahkan Libraries à Add Project, Libraries à Add Library à Persistence
  • Apabila hasil eksekusi Unit Test menampilkan record dari database anda maka konfigurasi anda sudah benar. Selamat.

Enterprise Java Beans

  • Buat project Java EE melalui menu File à New Project

  • Pada Categories pilih Java EE, Projects pilih EJB Module à Next

  • Pada project Name beri nama Inventory-ejb, Project Location sesuai dengan selera anda. Beri tanda check pada Use Dedicated Folder for Storing Libraries, Create Main Class dan Set as Main Project à Next

  • Pada Server and Setting, untuk Server pilih JBoss Application Server, Java EE Version pilih Java EE 5 à Finish

  • Anda akan mendapatkan tampilan sebagai berikut di Tab Project

  • Jadikan project InventoryMapping sebagai Referensi Library dari Inventory-ejb, klik kanan pada Libraries à Add Project

  • Pilih InventoryMapping kemudian klik Add Project Jar Files

  • Maka libraries anda menjadi seperi berikut

  • Tambahkan library hibernate anda dengan file berikut melalui menu Libraries à Add Jar/Folder

  • Tambahkan Libraries à Add Project, Libraries à Add Library à Persistence
  • Tambahkan 1 buah SessionBean melalui menu File à New File
  • Pada project silahkan pilih Inventory-ejb, categories pilih Java EE, FileTypes pilih SessionBean à Next

  • Pada EJBName beri nama Pengguna, package misal ejb, Session Type Stateless, Create interface pilih Remote à Finish

  • Anda secara otomatis akan mendapatkan 2 buah file yaitu PenggunaBean yang berupa Java Class dan PenggunaRemote yang berupa Java Interface.

  • Tambahkan Business Method pada PenggunaBean melalui menu Source à Insert Code atau Klik kanan di Source code à Insert Code

    atau

  • Pilih Add Business Method

  • Pada Name ketikkan doLogin, Return Type Pengguna

  • Pada Parameter, beri 1 parameter, Name pengguna, Type Pengguna, final tidak diberi tanda check

  • Pada Exceptions, tambahkan java.lang.Exception, ingat saat Find Type hanya ketikkan Exception

  • Klik OK, maka anda akan mendapat penambahan kode program sebagai berikut di kelas PenggunaBean

    di interface PenggunaRemote

  • Tambahkan import inventory.model.Pengguna; di kelas PenggunaBean dan interface PenggunaRemote
  • Method doLogin ini nantinya akan digunakan untuk melakukan login dari aplikasi client, apabila tidak ditemukan user name dan password yang sama maka akan mengembalikan exception. Berikut kode programnya
  • Tambahkan library melalui klik kanan Libraries à add library à Import àMySQL JDBC Driver

 

 

 

 

 

Java SE Client

 

Disini kita akan mencoba membuat client dari Service Login, dan service service lainnya yang akan kita buat nanti.

  1. Desain Tampilan dan Libraries
    1. Dari menu File à New Project
    2. Categories pilih Java , Projects pilih Java Application à Next
    3. Pada project name ketik Inventory-se, beri tanda check pada Use Dedicateed Libraries for Storing Libraries, Create Main Class dan Set as Main Project à Finish
    4. Anda akan mendapatkan sebuah project aplikasi java Standard

    5. Tambahkan file jar berikut sebagai libraries (18 libraries)

  1. Jadikan Inventory-ejb dan InventoryMapping sebagai referensi dari project anda, tambahkan Libraries à Add Project, Libraries à Add Library à Persistence.
  2. Buat 1 buat JFrame dengan nama FrameLogin, atur agar layout menjadi Border Layout

  3. Tambahkan 1 buah JPanel ke dalam FrameLogin, atur agar layout dari JPanel menjadi GridBagLayout, apabila dilihat dari Inspector (Windows à Navigating à Inspector) tampak seperti berikut

  4. Tambahkan 3 buah JLabel, 1 buah JTextField, 1 buah JPasswordField 2 buah JButton, sehingga dari Inspector tampak seperti berikut

  5. Klik kanan pada GridBagLayout à Costumize, maka anda akan mendapatkan window GridBagLayout Costumizer, atur agar bagian desain untuk grid bag layout tampak seperti gambar berikut

  6. Untuk jLabel1, pada property layout untuk nilai Grid Width berikan nilai 3

  7. Untuk jTextField1 dan jPasswordField1, atur agar nilai GridWidth menjadi 2, Fill menjadi Horizontal dan Anchor menjadi West

  8. Untuk jLabel2 dan jLabel3, berikan nilai Anchor menjadi West
  9. Untuk semua Objek, berikan nilai Insets [ 0, 0, 5, 5 ] à Close

  10. Anda akan mendapatkan tampilan berikut pada FrameLogin

  11. Ubah text dari tiap Objek dengan cara memilik komponen yang akan diubah textnya à Edit text
Objek TextLama TextBaru
jLabel1 jLabel1 Login Aplikasi Inventory
jLabel2 jLabel2 Nama
jLabel3 jLabel3 Password
jTextField1 jTextField1 {Kosongkan}
jPasswordField2 jPasswordField2 {Kosongkan}
jButton1 jButton1 Keluar
jButton2 jButton2 Login

  1. Ubah nama Objek dengan cara Klik kanan objek yang hendak diubah namanya à Change variable name
Nama Objek Text Nama Objek Baru
jTextField1 {Kosong} txtNama
jPasswordField2 {Kosong} txtPassword
jButton1 Keluar btnKeluar
jButton2 Login btnLogin


  1. Atur properties dari JFrame, klik kanan di Inspector à Properties

 

 

  1. Klik Code, atur property sebagai berikut
Property Value
FormSizePolicy Generate Resize Code
Generate Size False (uncheck)
  1. Klik Properties, atur property sebagai berikut
Property Value
title Aplikasi Inventory
resizeable False (uncheck)
Minimum Size {samakan dengan prefered Size}

àClose

  1. Silahkan buka file Main.java, sesuaikan method main anda dengan kode program berikut

    Tekan F6

  1. Memanggil service EJB
    1. Buatlah sebuah kelas utitiltas untuk memanggil service EJB di JBoss, File à New File, pada Projects pilih Inventory-se, Categories pilih Java, File Types pilih Java Class à Next
    2. Pada Class name beri nama EJBUtil, package inventoryse.util à Finish
    3. Deklarasikan 2 buah attribut, yaitu
      1. private static InitialContext initialContext;
      2. private Properties properties;

     

    1. Buat sebuah konstruktor sebagai berikut
    2. Buatlah sebuah static method bernama createInstance, method ini digunakan untuk melakukan inisialisasi InitialContext

    3. Tambahkan lagi 1 buah static method bernama Lookup, digunakan untuk melakukan Lookup service EJB
    4. Tambahkan file jndi.properties pada package inventoryse, isi dengan file berikut


     

     

    1. Tambahkan file log4j.properties pada package inventoryse, isi dengan file berikut

 

 

  1. Double click pada btnLogin untuk memberikan event ActionPerformed. Kemudian tambahkan kode program berikut

 

 

 

 

  1. Deployment EJB di JBoss5
    1. Hot Deployment
      1. Build project Inventory-ejb dengan Klik kanan pada project à Clean and Build.
      2. Anda akan mendapatkan pesan seperti berikut pada WindowàOutput

      Created dir: F:\My Documents\Pelatihan\Asset Management\Inventory-ejb\dist //lokasi direktori hasil anda melakukan build

      Building jar: F:\My Documents\Pelatihan\Asset Management\Inventory-ejb\dist\Inventory-ejb.jar //lokasi file ejb anda yang sudah siap di deployment

      1. Kopikan file Inventory-ejb.jar anda ke

      {Direktory JBoss5 anda}\server\default\deploy

    2. Netbeans
      1. Klik kanan pada project
      2. Pilih deploy
  2. Menjalankan JBoss Application Server

    Untuk menjalankan JBoss Application Server ada banyak cara, antara lain

    1. Window Service

      Petunjuk untuk menjalankan JBoss menjadi Window Service silahkan baca sendiri di E:\jboss-5.1.0.GA\bin pada file README-service.txt

    2. run.bat

      Dari console ada gunakan run.bat –b 0.0.0.0 yang berarti JBoss anda bisa diakses dari client dengan IP berapapun

    3. Dari netbeans

      Dari menu Window à Service, perluas node Servers, klik kanan pada JBoss Application Server à Start

    Silahkan anda jalankan Inventory-se apabila JBoss anda sudah berjalan. Kemudian tekan login. Semoga berhasil.

 

 

 

 

 

 

 

 

 

 

 

Hibernate Query Language

 

Hibernate menggunakan sebuah bahasa query yang mirip dengan bahasa query yang digunakan pada relational database.

  • From

    Digunakan untuk melakukan query terhadap sebuah objek, apabila objek ini berasosiasi dengan objek lain maka secara otomatis objek yang terasosiasi akan ikut terquery.

    Contoh :

    • From Pengguna

      Maka akan mengembalikan semua data di tabel Pengguna dan koleksi objek Permintaan dan Pembelian

      Query ini di SQL sama dengan :

      Select * from pengguna p

    • From Barang

      Maka akan mengembalikan semua data di tabel Barang dan objek Kategori serta koleksi Item

      Query ini di SQL sama dengan :

      Select * from barang b

    • From Kategori

      Maka akan mengembalikan semua data di tabel Kategori dan objek Barang

    Query ini di SQL sama dengan :

    Select * from kategori k

     

  • Select

    Digunakan untuk melakukan query terhadap sebuah objek, apabila objek ini berasosiasi dengan objek lain maka bergantung dengan select nya, apabila selectnya menyertakan attribut dari objek lain yang berelasi maka secara otomatis akan terjoin, apabila hanya menyangkut ke attribut dari objek terkait maka tidak akan terjadi join.

    Contoh :

    • Select b from Barang b

      Query ini di SQL sama dengan

      select

      b.kodeBarang as kodeBarang,

      b.kodeKategori as kodeKate,

      b.nama as nama,

      b.stock as stock

      from

      inventory.barang b

    • Select b.nama from Barang b

      Query ini di SQL sama dengan

      select

      b.nama as nama

      from

      inventory.barang b

    • Select b.nama,b.kategori.nama from Barang b

      Query ini di SQL sama dengan

      select

      barang0_.nama,

      kategori1_.nama

      from

      inventory.barang b,

      inventory.kategori k

      where

      b.kodeKategori=k.kodeKategori

    • select b.kategori.nama from Barang b

    Query ini di SQL sama dengan

    select

    k.nama from

    inventory.barang b,

    inventory.kategori k

    where

    b.kodeKategori=k.kodeKategori

    EJB Service

    Sebagai latihan, buatlah SessionBean dengan nama Kategori, Session Type Stateless, Create interface pilih Remote. Bisnis method di KategoriBean, yaitu

    • getKategori
      • Parameter : {tidak ada}
      • Return Type : Kategori[]
      • HQL : select k from Kategori k

      Contoh kode program untuk method getKategori

    • saveKategori
      • Parameter : kategori, type data Kategori
      • Return Type : boolean

      Contoh kode program untuk method saveKategori

     

     

     

     

     

    • delKategori
      • Parameter : kategori, type data Kategori
      • Return Type : boolean

      Contoh kode program delKategori

    Java Client

  1. Pada project Inventori-se, buatlah sebuah 1 buat form utama seperti gambar berikut

    Apabila dilihat dari Inspector

  2. Tambahkan 1 buah JPanel dengan nama PanelKategori untuk melakukan pengolahan data kategori, desain form sebagai berikut

    Apabila dilihat dari Window à Inspector

  1. BorderLayout
  2. BoxLayout

    Properties

    1. Axis = Page Axis
  3. GridBagLayout
  4. FlowLayout

    Properties

    1. Alignment = Center
  1. Ubah properties objek sesuai dengan tabel berikut
Nama Objek Nama Baru Text Lama Text Baru
jTable1 tbKategori
jLabel1 jLabel1 jLabel1 Kode
jLabel2 jLabel2 jLabel2 Nama
jLabel3 jLabel3 jLabel3 Keterangan
jTextField1 txtKode jTextField1 {Kosongkan}
jTextField2 txtNama jTextField2 {Kosongkan}
jTextField3 txtKeterangan jTextField3 {Kosongkan}
jButton1 btnAdd jButton1 Tambah
jButton2 btnEdit jButton2 Ubah
jButton3 btnDel jButton3 Hapus
jButton4 btnExit jButton4 Keluar

Sehingga desain form anda menjadi seperti berikut

Note :

Untuk mengubah jumlah kolom, klik kanan pada tbKategori

Untuk mengubah ukuran textfield gunakan properties, atur pada preferred size.

  1. Silahkan buka kembali FrameUtama, berikan event pada menu Master à Kategori

  2. Silahkan anda kopi java class TabFunction.java pada project anda. Letaknya bebas.
  3. Tambahkan kode program berikut

  4. Tambahkan kode program berikut pada event yang sudah ada buat

 

 

 

 

  1. Ganti kode program yang ditebali berikut

    Dengan kode program berikut

    setVisible(false);

    new FrameUtama().setVisible(true);

  2. Deklarasikan kode program berikut pada PanelKategori
  3. Ubah kode pada konstruktor anda menjadi seperti kode program berikut

 

 

  1. Buatlah method berikut untuk menampilkan data di JTable
  2. Tambahkan implements ListSelectionListener pada kelas PanelKategori, kemudian buat method berikut

 

  1. Tambahkan event formComponentShow
  2. Panggil method refresh pada event formComponentShow
  3. Tambahkan event actionPerformed pada btnEdit
  4. Tambahkan kode program berikut pada method btnEditActionPerformed
  5. Silahkan tambahkan fasilitas untuk add dan delete serta fasilitas lainnya.
Categories: Java
  1. hasan
    December 29, 2010 at 10:40 am

    hello, maaf td liat judulnya pake EJB…tp ko sy g liat ejbnya d mana…sebenernya EJB itu apa? hubungan EJB dan Hibernete gmana sih? terima kasih..

    • ratnokustiawan
      December 30, 2010 at 3:52 am

      EJB itu berfungsi sebagai middle ware, ada kok mas ejbnya, coba dibaca yang teliti lagi, mm ejb disini dia akan menyimpan semua proses di server, sedangkan client cukup mengaksesnya dengan interface

  2. Barid Yulianto
    April 7, 2011 at 3:48 am

    Pak ada contoh gk untuk framework JPA dan SPRING

    • ratnokustiawan
      April 8, 2011 at 6:48 am

      Wah belum punya je

  3. September 16, 2012 at 12:40 pm

    ada versi pdf nya ga ini Om?😀
    share dong….😀

    • November 30, 2012 at 1:12 pm

      Ada, tapi lupa naruh nya dimana, besok kalo dah ketemu ku upload

  4. Abas
    November 11, 2012 at 11:39 am

    itu class tabFunction nya dari mana yah.. thx

  5. November 14, 2012 at 3:03 am

    Pak, saya masing bingung tentang JBOSS…
    JBOSS itu sebenarnya apa sih? berfungsi sebagai apa? bagaimana menjalankan fungsinya?
    Trus hubungannya dengan EJB apa?
    Makasih?

    • November 30, 2012 at 1:13 pm

      Jboss itu web server untuk java, macam iis untuk asp atau apache untum php

  6. March 12, 2013 at 10:40 pm

    I’m amazed, I must say. Rarely do I come across a blog that’s both equally educative and
    interesting, and without a doubt, you have hit the
    nail on the head. The problem is something that not enough folks
    are speaking intelligently about. I am very happy that I stumbled across this in my
    hunt for something relating to this.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: