Setelah temen-temen mempelajari materi Hibernate Query Language (HQL) dan supaya lebih memahami materinya jadi kita langsung ja ke studi kasusnya ya.

Ok berikut adalah perancangan Entity Relational Diagramnya,

erd

Berdasarkan erd tersebut, buatlah project java dengan Apache Maven : maven-archetype-quickstart, artifactId: quis3-hibernate, groupId: your.email.com, version: tanggal-pengerjaan.

  1. Buatlah schama, dan table dengan menggunakan flyway migration
    1. Tambahkan data pada table provinces, sebagai berikut

      select-provinces

    2. Tambahkan data pada table cities, seperti berikut

      select-cities

    3. Tambahkan data pada table districts, seperti berikut

      select-districts

    4. Tambahkan data pada table jobs, seperti berikut

      select-jobs

    5. Tambahkan data pada table departments, seperti berikut

      select-departments

    6. Tambahkan data pada tabel employees, seperti berikut

      select-employees

    7. Tambahkan data pada tabel employee_addresses, seperti berikut

      select-employee-addresses

  2. Buatlah Perancangan ORM dan Implementasi Entity untuk masing-masing tabel berdasarkan erd tersebut.

  3. Buatlah Report untuk menampilkan daftar karyawan dengan first_name mengandung karacter n atau salary lebih kecil dari 5000 kemudian di urutkan berdasarkan commission_pct terbesar

  4. Update data karyawan, untuk field commission_pct bertambah 0.2 dari nilai sebelumnya berdasarkan job_id = IT_PROG dan join_date setelah 1 tahun bergabung

  5. Buatlah Report untuk menampilkan daftar salary karyawan menggunakan Hibernate Query Language (HQL) seperti berikut:

    no-02

    Berikut adalah ketentuannya:

    1. nama_karyawan: gabungkan ke dua kolom fist_name dan last_name
    2. Nama Bagian: diambil dari kolom depertment_name di tabel departments
    3. manager_name: diambil dari kolom first_name dan last_name berdasarkan manager_id di tabel employees, jika tidak punya manager tampilkan ‘Saya tidak punya manager’
    4. Nama Jabatan: dimabil dari kolom job_title di tabel jobs
    5. Diurutkan manager_name dan nama_karyawan
  6. Buatlah Report untuk menampilkan daftar nama karywan berserta managernya menggunakan Hibernate Query Language (HQL) seperti berikut:

    no-01

    Berikut adalah ketentuannya:

    1. Nama Lengkap: pengabungan antara first_name dan last_name dari tabel employees
    2. Nama Department: diambil dari table departements
    3. Gaji sebulan: diabil dari colomn salary dalam table employees yang diformat dipisahkan dalam ribuan dengan , (koma)
    4. Mendapatkan Komisi: Jika column commission_pct bernilai null tampilkan Tidak punya komisi tetapi jika memiliki komisi maka tampilkan berapa komisi yang karyawan tersebut dapatkan berdaksarkan salary.
    5. gaji_terima: Gaji yang harus diterima oleh karyawan tersebut setelah ditambakan dengan komisi.
    6. Tampilkan hanya yang status karyawan ACTIVE dan total pendapatan / gaji lebih besar dari sama dengan 4000
  7. Buatlah Report untuk menampilkan data jumlah gaji karyawan yang ACTIVE, LEAVE per department menggunakan HQL, seperti berikut:

    no-03

  8. Buat Report untuk menampilkan daftar karyawan yang memiliki komisi dan gajinya lebih besar dari gaji terkecil pada jabatan tertentu yang di urutkan berdasarkan nama jabatan dan salary, berikut contohnya untuk jabatan IT_PROG:

    no-04

  9. Buatlah Report untuk menampilkan daftar jabatan yang ada di karyawan secara unique kemudian di urutkan berdasarkan minimum salarynya, berikut contohnya:

    no-05

  10. Buatlah Report untuk menampilkan daftar karyawan yang belum mengisi alamat.