*Maaf baru posting setelah sekian lama*
Sekarang saya akan mencoba membuat kelas Entity Persistence pada project yang pernah diposting sebelum ini. Pada proyek itu telah dibuat Persistence Unitnya.
Baca Lebih Lanjut »
*Maaf baru posting setelah sekian lama*
Sekarang saya akan mencoba membuat kelas Entity Persistence pada project yang pernah diposting sebelum ini. Pada proyek itu telah dibuat Persistence Unitnya.
Baca Lebih Lanjut »
Persistence Unit adalah sebuah unit data yang menjelaskan konfigurasi entity yang digunakan. Salah satu konfigurasinya berisi tentang storage tempat entity disimpan. Cara menambahkan PersistenceUnit pada sebuah Java project di Netbeans adalah sebagai berikut
Secara default, MySQL di XAMPP menyertakan fitur InnoDB meski tidak otomatis dijalankan. InnoDB adalah database engine yang memiliki banyak sekali kelebihan. Untuk dapat mengkonfigurasi InnoDB di XAMPP lakukan beberapa langkah berikut
Persistence adalah sebuah fitur yang mampu melakukan mapping object ke relasional. Dengan adanya fitur ini maka kita bisa dengan mudah melakukan pengembangan objek dengan menggunakan basisdata tanpa harus mengkodekan koneksi manual ke database. Kemaren gw baru nyobain fitur persistence itu untuk Java EE dengan menggunakan Netbeans dan MySQL.
Ceritanya gw bikin sebuah table namanya products
CREATE TABLE `product` ( `ID` VARCHAR( 8 ) NOT NULL , `Name` TEXT NOT NULL , `Price` INT NOT NULL , `Quantity` INT NOT NULL , PRIMARY KEY ( `ID` ) ) ENGINE = MYISAM ;
Untuk melakukan manajemennya bisa dilihat di sini.
Nantinya akan keluar

Setelah itu kita bikin aplikasi berbasis Java EE, entah itu Enterprise app atau sekadar Web app.
Nah kita langsung coba bikin Class dari database.
Setelah itu tinggal ikutin langkah-langkah aja.
Kita pilih data source yang diperlukan…. Terus abis itu kita pilih table-table yang dibutuhkan juga… Dan nanti masing-masing table akan menjadi sebuah class.
Nah nantinya kita akan punya sebuah class Product. (Nama product terpaksa direname sendiri karena pada table biasanya menggunakan nama plural sedangkan nama class biasanya singular)
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package model;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
/**
*
* @author Petra Barus
*/
@Entity
@Table(name = "products")
@NamedQueries({@NamedQuery(name = "Product.findAll", query = "SELECT p FROM Product p"), @NamedQuery(name = "Product.findById", query = "SELECT p FROM Product p WHERE p.id = :id"), @NamedQuery(name = "Product.findByPrice", query = "SELECT p FROM Product p WHERE p.price = :price"), @NamedQuery(name = "Product.findByQuantity", query = "SELECT p FROM Product p WHERE p.quantity = :quantity")})
public class Product implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "ID")
private String id;
@Basic(optional = false)
@Lob
@Column(name = "Name")
private String name;
@Basic(optional = false)
@Column(name = "Price")
private int price;
@Basic(optional = false)
@Column(name = "Quantity")
private int quantity;
public Product() {
}
public Product(String id) {
this.id = id;
}
public Product(String id, String name, int price, int quantity) {
this.id = id;
this.name = name;
this.price = price;
this.quantity = quantity;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Product)) {
return false;
}
Product other = (Product) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return "model.Product[id=" + id + "]";
}
}
Menyambung tulisan dari Bung Aqsath mengenai pengenalan OOP di PHP, gw ada sedikit tambahan yang menarik yakni mengenai konsep ORM.
ORM atau Object Relational Mapping adalah teknik yang menghubungkan basisdata relasional dengan konsep OOP. Dengan menggunakan ORM kita dapat dengan mudah mempertahankan persistensi objek pada database. Kita dapat melakukan pembuatan obyek dan manipulasi-manipulasinya sembari mempertahankan isi data pada database yang direpresentasikan oleh objek tersebut.
Teknik ini sudah banyak sekali diimplementasikan diframework-framework seperti KohanaPHP, Symfony, CakePHP, dll.