devprg

toplink mapping 1

Posted in ADF, JDev 10.1.3.3, Oracle, Toplink by devprg on 28.06.2009

Membuat mapping Toplink dengan objective sbb:

  1. bisa menampilkan attribute dari object yang direferensi.
  2. bisa melakukan persistEntity dan mergeEntity secara benar
  3. bisa membatalkan seluruh transaksi bila ternyata nilai object yang direferensi tidak ditemukan
  4. nilai bisa diset dengan selectOneChoice, selectOneRadi

Untuk mendemonstrasikan mapping, dibuat 3 table sbb:

  1. person(id int, code varchar, name varchar, birthdate)
  2. position(id int, parent_id int, code varchar, name varchar, description varchar)
  3. employee(id int, code varchar, person_id int, position_id int, entrydate date, permanentdate date)

Seperti biasa seluruh ke-3 table menggunakan field ID sebagai primary key. Table employee mempunyai foreign key ke table person dan position.

Objective 1:

Buat kelas baru misalnya bernama EmployeeView2 sebagai turunan dari class Employee. Langkah-langkah pembuatan mapping sbb :

  • klik kanan di toplinkMap structure editor. pilih Inherited Field -> Map to SuperClass
  • Associated Table pilih table Employee
  • lakukan mapping per field secara manual. field id, code, entrydate, permanentdate di map ‘direct to field’. Pilih field di database secara manual.
  • field person dan position di map sebagai ‘One-To-One’. Pilih table Person dan table Position sebagai target map.

Buka class EmployeeView2. Tambahkan dua attribute berikut:


private String personName;
private String positionName;

Generate accessor untuk kedua attribute diatas.

Kembali buka toplinkMap.

  • buka structure editor
  • klik kanan di class EmployeeView2
  • pilih ‘Advanced Properties –> Multitable Info’
  • tekan tombol Add di bawah textfield Additional Table.
  • tambahkan table Person dan Position. Foreign key yang digunakan akan langsung terpilih secara otomatis.
  • kembali ke Structure Editor
  • map field personName sebagai ‘Direct To Field’ ke field PERSON.NAME. tick checkbox ReadOnly.
  • map field positionName sebagai ‘Direct To Field’ ke field POSITION.NAME. tick checkbox ReadOnly.

Pada tahap ini, lakukan ‘Create Data Control’. Buat satu jspx, buat table dengan drag drop findAllEmployeeView2. Lihat bahwa isi field personName dan positionName tampil dengan sendirinya.

.. to be continued ..

source. Download, ubah extension jadi zip, lalu extract. WordPress tidak mengizinkan attachment berextension ‘zip’.

Ikuti

Get every new post delivered to your Inbox.