Kali ini gw akan bercerita tentang annotation @Basic dan @Lob juga lazy loading. Seperti diketahui bahwa @Basic dan @Lob merupakan anotasi kategori pemetaan langsung (direct mapping) yang mempunyai definisi akan langsung mengkonfigurasi pemetaan untuk kebanyakan tipe data primitiv,membungkus (wrappers) data primitiv dan tipe enum.


Sebagai contoh terdapat kelas student.java


@Entity
public class Student {
@Id
private int id = 0;

private String name;

@Basic(fetch = FetchType.LAZY)
@Lob
private byte[] picture;

public int getId() {
return id;
}


Penggunaan @Basic juga mengkonfigurasi tipe fetch ke LAZY. Tidak semua data yang kita ambil dari database akan digunakan pada saat itu juga. Kadangkala sebagian besar data yang diambil akan dibuang. Tentunya hal ini akan membuat pemborosan kerja CPU, penggunaan memori, dan juga bandwidth. Beberapa ORM mendukung fitur lazy-loading, yaitu mengambil data kalau benar-benar diperlukan saja.Bila aplikasi kita menggunakan ORM, perintah SQL ke database dieksekusi oleh ORM, bukan oleh kode program kita. Karena itu didalam ORM kita memiliki kebebasan untuk menjalankan SQL kapan saja, asal tidak mengacaukan aplikasi kita. Kebebasan ini digunakan oleh ORM untuk menunda dan mengumpulkan eksekusi SQL, sehingga bisa dijalankan secara efisien. Hal ini lah yang disebut Lazy Loading.

0 Responses so far.

Posting Komentar