Memanfaatkan EntityListener Sebagai Trigger di Java Persistence API


Java Programming

Java Programming

Peralatan yang diperlukan :

  1. Java Development Kit 1.6
  2. Java Persistence API 2.0
  3. Implementasi Java Persistence API 2 (EclipseLink 2.0, OpenJPA 2.0, Hibernate Framework 3.5)

Bagi anda yang biasa menggunakan PL/SQL mungkin sudah biasa menggunakan Trigger di databasenya. Trigger memang sangat berguna, seperti untuk melakukan proses validasi ataupun melakukan proses apapun setelah proses INSERT, UPDATE, dan DELETE terjadi 😀

Jika Anda menggunakan Java Persistence API, Anda dapat memanfaatkan fitur @EntityListener sebagai trigger, contohnya seperti ini :

@EntityListeners({EmployeeTrigger.class})
@Entity
@Table(name = "employees")
public class Employee implements Serializable {

   .......

}

Kelas EmployeeTrigger nya seperti ini :

public class EmployeeTrigger {

    @PrePersist
    public void prePersist(Employee employee) throws Throwable {
        if (employee.getFirstName() == null) {
            throw new NullPointerException("Employee name is null");
        } else if (employee.getFirstName().trim().isEmpty()) {
            throw new Throwable("Employee name is empty");
        }
    }

    .............
}

Pada Trigger diatas, saya melakukan proses validasi terhadap kelas Employee, sebelum JPA melakukan proses persist (INSERT) ke database. Jika pada waktu pemanggilan EmployeeTrigger tersebut terjadi error, maka JPA akan membatalkan proses persist ke database.

😀

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s