Bab ini berisi tentang kesimpulan dan saran dari pengembangan
2.1 Koperasi
Koperasi adalah badan usaha nirlaba yang beranggotakan orang-orang
sebagai usaha bersama berdasarkan asas kekeluargaan.
2.1.1 Karakteristik pelaporan keuangan koperasi
1. Laporan keuangan koperasi adalah laporan keuangan yang disusun untuk
dapat menggambarkan posisi keuangan sebagai pertanggungjawaban
pengurus atas pengelolaan keuangan koperasi yang terutama ditujukan
kepada anggota.
2. Laporan laba rugi menyajikan hasil akhir yang disebut Sisa Hasil
Usaha(SHU). Acuan komponen pembagian SHU adalah sebagai berikut :
• Cadangan koperasi
• Anggota sebanding dengan jasa yang diberikan
• Dana pengurus
• Dana pegawai/karyawan
• Dana pendidikan koperasi
• Dana sosial
• Dana pembangunan daerah kerja
3. Pemakai utama dari laporan keuangan koperasi adalah para anggota
koperasi itu sendiri serta para pejabat pembina.
4. Kepentingan pemakai utama laporan keuangan koperasi adalah untuk :
• menilai pertanggungjawaban pengurus
• menilai prestasi pengurus
• menilai manfaat yang diberikan koperasi terhadap anggotanya
• sebagai bahan pertimbangan untuk menentukan jumlah sumber daya, karya dan jasa yang akan diberikan kepada koperasi.
2.1.2 Tujuan Pelaporan Keuangan koperasi
Laporan keuangan koperasi dapat menyediakan informasi yang bertujuan
untuk :
1. Mengetahui manfaat yang diperoleh dengan menjadi anggota koperasi
2. Mengetahui prestasi keuangan koperasi selama satu periode dengan Sisa
Hasil Usaha.
3. Mengetahui sumber daya ekonomis yang dimiliki koperasi, kewajiban dan
kekayaan bersih dengan pemisahan antara yang berkaitan dengan anggota
dan bukan anggota
4. Mengetahui transaksi, kejadian dan keadaan yang mengubah sumber daya
ekonomis, kewajiban dan kekayaan bersih dalam suatu periode.
5. Mengetahui informasi penting lainnya yang mungkin mempengaruhi
likuiditas dan solvabilitas koperasi.
Informasi yang diperlukan untuk mencapai tujuan tersebut adalah :
• Sumber daya ekonomis yang dimiliki koperasi
• Kekayaan bersih yang dimiliki oleh anggota dan koperasi
• Transaksi, kejadian dan keadaan yang terjadi dalam suatu periode yang mengubah daya ekonomis, kewajiban dan kekayaan bersih koperasi
• Sumber dan penggunaan dana serta informasi-informasi lain yang mempengaruhi likuiditas dan solvabilitas koperasi.
2.2 Sistem Informasi Akuntansi
Sistem Informasi Akuntansi(SIA) adalah sistem berbasis komputer yang
dirancang untuk mengubah data akuntansi menjadi informasi. Pemakai informasi
akuntansi ini dapat dibagi menjadi 2 kelompok besar, yaitu :
• Pemakai ekstern : pemegang saham, investor, kreditor, pemerintah, pelanggan dan pemasok, pesaing, serikat pekerja dan masyarakat.
• Pemakai intern : manajer organisasi.
Sistem Informasi Akuntansi meliputi beragam aktifitas yang berkaitan
dengan siklus-siklus pemrosesan transaksi perusahaan, meliputi :
• Siklus pendapatan : kejadian-kejadian yang berkaitan dengan pendistribusian barang dan jasa ke entitas-entitas lain dan pengumpulan
pembayaran-pembayaran yang berkaitan.
• Siklus pengeluaran : kejadian-kejadian yang berkaitan dengan perolehan barang dan jasa dari entitas-entitas lain dan pelunasan
kewajiban-kewajiban yang berkaitan.
• Siklus produksi : kejadian-kejadian yang berkaitan dengan pengubahan sumber daya menjadi barang dan jasa.
• Siklus keuangan : kejadian-kejadian yang berkaitan dengan perolehan dan manajemen dana-dana modal, termasuk kas.
2.3 Hibernate
2.3.1 Apa itu Hibernate?
Dalam OOP(Object Oriented Programming), masalah dimodelkan dalam
obyek-obyek yang pada umumnya harus disimpan untuk jangka waktu yang lama.
Untuk menyimpan obyek-obyek tersebut, yang paling populer adalah di dalam
database. Akan tetapi database menganut paradigma sendiri yaitu model relasional
dalam bentuk tabel, kolom, relasi dll. Untuk menjembatani dunia OOP(Object
Oriented Programming) dan relasional diperlukan teknologi yang disebut sebagai
OR-mapping (Object Relational mapping). Hibernate adalah salah satu
frameworkObject-Relational mapping(O-R mapping). Framework dari jenis yang
sama antara lain: Ibatis, EJB Entity Beans, Oracle TopLink dll.
2.3.2 Arsitektur Hibernate
2.3.2.1 Gambaran Arsitektur
Gambar arsitektur Hibernate pada high-level :
Diagram di atas menunjukkan bahwa Hibernate menggunakan database
dan data konfigurasi berupa file hibernate.properties dan XML Mapping untuk
menyediakan layanan persisten berupa obyek persisten pada aplikasi. Untuk
arsitektur yang lebih detail, dapat dilihat pada gambar berikut :
Gambar 2.2 Arsitektur Hibernate secara detail
berikut penjelasan tiap bagan dari arsitektur hibernate di atas :
• SessionFactory(org.hibernate.SessionFactory)
Merupakan obyek yang mengkompilasi mapping ke sebuah database.
Obyek ini menghasilkan Session dan bekerja dengan Connection Provider.
Berfungsi juga untuk menangani data yang dapat digunakan kembali
• Session(org.hibernate.Session)
Session merupakan Obyek yang merepresentasikan hubungan antara
aplikasi dan penyimpanan persisten. Obyek ini membungkus koneksi
JDBC dan menghasilkan Transaction. Session merupakan level pertama
dalam menangani obyek persisten yang digunakan untuk menuju obyek
atau menemukan obyek berdasarkan id pengenalnya.
• Persistent objects
Merupakan obyek yang persisten dan memiliki fungsi bisnis. Seperti
POJO, yang memiliki kekhususan yaitu sedang berhubungan dengan
sebuah obyek Session. Setelah Session ditutup, obyek ini akan dilepaskan
dan bebas digunakan oleh aplikasi manapun.
• Transient dan detached objects
Instance dari kelas persisten yang sedang tidak berhubungan dengan
Session. Obyek ini mungkin telah di-instance ke aplikasi dan belum
persisten atau telah di-instance oleh session penutup.
• Transaction(org.hibernate.Transaction)
Obyek ini digunakan oleh aplikasi untuk menentukan satuan kerja.
Merupakan aplikasi abstrak dari transaksi JDBC, JTA dan CORBA. Dalam
beberapa kasus, sebuah obyek Session dapat mengikat beberapa
Transaction.
• Connection Provider(org.hibernate.connection.ConnectionProvider)
Merupakan obyek yang menghasilkan koneksi JDBC. Sebagai aplikasi
diperlihatkan ke aplikasi. Akan tetapi dapat diimplementasikan oleh
developer.
• TransactionFactory(org.hibernate.TransactionFactory)
Merupakan obyek yang menghasilkan instance Transaction. Obyek ini
tidak diperlihatkan ke aplikasi. Akan tetapi dapat diimplementasikan oleh
developer.
2.3.2.2 State/keadaan objek
Obyek dari kelas persisten berada dalam satu dari tiga keadaan berikut:
• Transient : obyek tidak dan belum pernah dihubungkan dengan session,
tidak mempunyai identitas persisten (primary key), tidak mempunyai
hubungan dengan row(baris) dalam database. Cth: ketika obyek POJO
dibuat.
• Persistent : obyek sedang dihubungkan dengan session, mempunyai identitas persisten (primary key) dan berhubungan dengan row(baris)
dalam database. Cth : ketika obyek POJO berlangsung.
• Detached : obyjek pernah menjadi persisten tetapi obyek telah dilepaskan.
Obyek ini memiliki identitas persistent dan mungkin berhubungan dengan
row(baris) dalam database. Digunakan ketika obyek POJO dibutuhkan
untuk dikirimkan ke program lain untuk manipulasi tanpa memiliki
2.3.3 Konfigurasi
karena Hibernate didesain untuk operasi di banyak lingkungan yang
berbeda, maka terdapat banyak parameter konfigurasi. Ada 2 cara untuk
mengkonfigurasi Hibernate, yaitu dengan melalui programmatic
configuration(konfigurasi dalam pemrograman) dan XML configuration file
(konfigurasi dalam berkas XML).
2.3.3.1 Programmatic configuration
Instance dari org.hibernate.cfg.Configuration mewakili seluruh kumpulan
mapping dari tipe aplikasi java ke database SQL. Configuration digunakan untuk
membangun SessionFactory. Model ini dikompilasi ke file XML mapping.
Jika file mapping dalam classpath, digunakan fungsi addResource():
Configuration cfg = new Configuration() .addResource("Item.hbm.xml")
.addResource("Bid.hbm.xml");
Atau cara alternatif lainnya untuk menentukan kelas yang dimappingkan dan
membiarkan hibernate menemukan dokumen mapping :
Configuration cfg = new Configuration()
.addClass(org.hibernate.auction.Item.class) .addClass(org.hibernate.auction.Bid.class);
kemudian Hibernate akan melihat file mapping pada /org/hibernate/auction
Configuration juga mengijinkan untuk menentukan properti konfigurasi :
Configuration cfg = new Configuration()
.addClass(org.hibernate.auction.Item.class) .addClass(org.hibernate.auction.Bid.class) .setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLInnoDBDialect") .setProperty("hibernate.connection.datasource", "java:comp/env/jdbc/test") .setProperty("hibernate.order_updates", "true");
untuk konfigurasi yang lebih gampang, cukup dengan mengedit file hibernate.properties. Configuration ini dimaksudkan sebagai obyek saat aplikasi baru dimulai.
2.3.3.1.1 Mendapatkan SessionFactory
ketika semua mapping telah diuraikan oleh Configuration, aplikasi harus
menghasilkan pabrik untuk instance Session. Pabrik ini dimaksudkan untuk
membagi semua thread aplikasi.
SessionFactory sessions = cfg.buildSessionFactory();
Hibernate mengijinkan aplikasi untuk memiliki lebih dari satu
SessionFactory. Hal ini berguna jika menggunakan lebih dari satu database.
2.3.3.1.2 JDBC connections
Berikut cara membuka session :
Ketika aplikasi membutuhkan akses ke database, maka koneksi JDBC
akan dihasilkan. Untuk itu perlu diatur beberapa properti yang menangani koneksi
JDBC.
Property name Purpose
hibernate.connection.driver_class jdbc driver class
hibernate.connection.url jdbc URL
hibernate.connection.username database user
hibernate.connection.password database user password
hibernate.connection.pool_size
maximum number of pooled
connections
Tabel 2.1 properti koneksi JDBC
2.3.3.2 XML configuration File
Alternatif konfigurasi yang lain melalui file hibernate.cfg.xml. File ini
dapat digunakan untuk menggantikan file hibernate.properties. berikut contoh file
konfigurasi XML :
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<!-- a SessionFactory instance listed as /jndi/name --> <session-factory
<!-- properties -->
<property name="connection.datasource"> java:/comp/env/jdbc/MyDB
</property>
<property name="dialect"> org.hibernate.dialect.MySQLDialect </property>
<property name="show_sql">false</property> <property name="transaction.factory_class">
org.hibernate.transaction.JTATransactionFactory </property>
<property name="jta.UserTransaction"> java:comp/UserTransaction </property>
<!-- mapping files -->
<mapping resource= "org/hibernate/auction/Item.hbm.xml"/> <mapping resource="org/hibernate/auction/Bid.hbm.xml"/>
<!-- cache settings -->
<class-cache class= "org.hibernate.auction.Item" usage="read-write"/>
<class-cache class= "org.hibernate.auction.Bid" usage="read-only"/>
<collection-cache collection="org.hibernate.auction.Item.bids" usage="read-write"/>
</session-factory>
</hibernate-configuration>
SessionFactory sf = new
Configuration().configure().buildSessionFactory();
Selain itu dapat juga menggunakan file konfigurasi XML yang lain, seperti :
SessionFactory sf = new Configuration() .configure("catdb.cfg.xml")
.buildSessionFactory();
2.3.4 Persistent Classes
Persistent class merupakan kelas dalam aplikasi yang
mengimplementasikan entitas. Tidak semua obyek dari kelas persisten termasuk
dalam state/keadaan persistent, akan tetapi bisa termasuk dalam state transient
atau detached.
Hibernate dapat bekerja dengan baik jika kelas-kelas mengikuti beberapa
aturan sederhana yang dikenal sebagai model pemrograman Plain Old Java
Object(POJO).
2.3.4.1 Contoh POJO :
package eg;
import java.util.Set; import java.util.Date;
public class Cat {
private Long id; // identifier
private Date birthdate; private Color color; private char sex; private float weight;
private int litterId;
private Cat mother;
private Set kittens = new HashSet();
private void setId(Long id) { this.id=id;
}
public Long getId() { return id;
}
void setBirthdate(Date date) { birthdate = date;
}
public Date getBirthdate() { return birthdate;
}
void setWeight(float weight) { this.weight = weight; }
public float getWeight() { return weight;
}
public Color getColor() { return color;
}
void setColor(Color color) { this.color = color; }
void setSex(char sex) { this.sex=sex; }
public char getSex() { return sex;
}
void setLitterId(int id) { this.litterId = id;
}
public int getLitterId() { return litterId; }
void setMother(Cat mother) { this.mother = mother; }
public Cat getMother() { return mother; }
void setKittens(Set kittens) { this.kittens = kittens; }
public Set getKittens() { return kittens; }
// addKitten not needed by Hibernate }
berikut 4 aturan utama yang harus diikuti oleh POJO :
1. implementasi konstruktor tanpa argumen
2. menyediakan properti pengenal
3. kelas lebih baik berupa non-final
2.3.5 Dasar Object Relational Mapping (O/R mapping)
2.3.5.1 Deklarasi Mapping
Object/Relational mapping biasanya didefenisikan dalam dokumen XML.
Dokumen mapping ini didesain agar dapat dibaca dan diubah. Bahasa mapping
adalah java-centric, yang berarti bahwa mapping dibangun melalui deklarasi kelas
persisten, bukan deklarasi tabel. Ada pengguna Hibernate yang menulis XML
secara manual dan ada yang menggunakan tools untuk pembuatan dokumen
mapping, seperti Xdoclet, Middlegen dan AndroMDA.
Contoh dokumen mapping :
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="eg"> <class name="Cat" table="cats" discriminator-value="C"> <id name="id"> <generator class="native"/> </id> <discriminator column="subclass" type="character"/> <property name="weight"/> <property name="birthdate" type="date" not-null="true" update="false"/>
<property name="color" type="eg.types.ColorUserType" not-null="true" update="false"/> <property name="sex" not-null="true" update="false"/> <property name="litterId" column="litterId" update="false"/> <many-to-one name="mother" column="mother_id" update="false"/> <set name="kittens" inverse="true" order-by="litter_id"> <key column="mother_id"/> <one-to-many class="Cat"/> </set> <subclass name="DomesticCat" discriminator-value="D"> <property name="name" type="string"/> </subclass> </class> <class name="Dog">
<!-- mapping for Dog could go here --> </class>
</hibernate-mapping>
Dokumen mapping terdiri dari atribut dan elemen-elemen yang mempengaruhi
2.3.5.1.1 Doctype
Semua file XML mapping harus menggunakan elemen doctype seperti di
bawah ini sebagai DTD.
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" [ <!ENTITY types SYSTEM "classpath://your/domain/types.xml">
]>
2.3.5.1.2 hibernate-mapping
Elemen hibernate-mapping mengijinkan untuk memasukkan beberapa
elemen kelas persisten. Akan tetapi lebih baik menggunakan satu file mapping
untuk satu kelas persisten.
<hibernate-mapping schema="schemaName" (1) catalog="catalogName" (2) default-cascade="cascade_style" (3) default-access="field|property|ClassName" (4) default-lazy="true|false" (5) auto-import="true|false" (6) package="package.name" (7) /> 2.3.5.1.3 class
Elemen ini digunakan untuk mendeklarasikan kelas persisten.
name="ClassName" (1) table="tableName" (2) discriminator-value="discriminator_value" (3) mutable="true|false" (4) schema="owner" (5) catalog="catalog" (6) proxy="ProxyInterface" (7) dynamic-update="true|false" (8) dynamic-insert="true|false" (9) select-before-update="true|false" (10) polymorphism="implicit|explicit" (11) where="arbitrary sql where condition" (12) persister="PersisterClass" (13) batch-size="N" (14) optimistic-lock="none|version|dirty|all" (15) lazy="true|false" (16) entity-name="EntityName" (17) check="arbitrary sql check condition" (18) rowid="rowid" (19) subselect="SQL expression" (20) abstract="true|false" (21) node="element-name" /> 2.3.5.1.4 id
Setiap elemen class harus mendeklarasikan kolom primary key dalam tabel
database. Selain itu, setap kelas juga memiliki properti identitas pengenal dalam
instance java. Oleh karena itu, elemen id digunakan untuk memetakan properti
<id name="propertyName" (1) type="typename" (2) column="column_name" (3) unsaved-value="null|any|none|undefined|id_value"(4) access="field|property|ClassName"> (5) node="element-name|@attribute-name|element/@attribute|." <generator class="generatorClass"/> </id> 2.3.5.1.5 property
Elemen property mendeklarasikan properti yang bersifat persisten pada
kolom tabel. <property name="propertyName" (1) column="column_name" (2) type="typename" (3) update="true|false" (4) insert="true|false" (4) formula="arbitrary SQL expression" (5) access="field|property|ClassName" (6) lazy="true|false" (7) unique="true|false" (8) not-null="true|false" (9) optimistic-lock="true|false" (10) generated="never|insert|always" (11) node="element-name|@attribute-name|element/@attribute|." index="index_name" unique_key="unique_key_id" length="L"
precision="P" scale="S" />
2.3.5.1.6 many-to-one
Elemen ini menunjukkan hubungan relasi many to one dimana foreign key
dalam 1 tabel menunjuk ke kolom primary key dari tabel tujuan.
<many-to-one name="propertyName" (1) column="column_name" (2) class="ClassName" (3) cascade="cascade_style" (4) fetch="join|select" (5) update="true|false" (6) insert="true|false" (6) property-ref="propertyNameFromAssociatedClass" (7) access="field|property|ClassName" (8) unique="true|false" (9) not-null="true|false" (10) optimistic-lock="true|false" (11) lazy="proxy|no-proxy|false" (12) not-found="ignore|exception" (13) entity-name="EntityName" (14) formula="arbitrary SQL expression" (15) node="element-name|@attribute-name|element/@attribute|." embed-xml="true|false" index="index_name" unique_key="unique_key_id" foreign-key="foreign_key_name" />
2.3.5.1.7 one-to-one
Elemen ini untuk mendeklarasikan hubungan one-to-one ke kelas persisten
yang lain. <one-to-one name="propertyName" (1) class="ClassName" (2) cascade="cascade_style" (3) constrained="true|false" (4) fetch="join|select" (5) property-ref="propertyNameFromAssociatedClass" (6) access="field|property|ClassName" (7) formula="any SQL expression" (8) lazy="proxy|no-proxy|false" (9) entity-name="EntityName" (10) node="element-name|@attribute-name|element/@attribute|." embed-xml="true|false" foreign-key="foreign_key_name" /> 2.3.5.1.8 properties
Elemen ini merupakan elemen untuk mendefenisikan banyak kolom.
<properties name="logicalName" (1) insert="true|false" (2) update="true|false" (3) optimistic-lock="true|false" (4) unique="true|false" (5) >
<property .../> <many-to-one .... /> ... </properties> Contoh : <class name="Person"> <id name="personNumber"/> ... <properties name="name" unique="true" update="false"> <property name="firstName"/> <property name="initial"/> <property name="lastName"/> </properties> </class> 2.3.5.1.9 column
Elemen untuk mendeklarasikan atribut kolom pada tabel database.
<column name="column_name" length="N" precision="N" scale="N" not-null="true|false" unique="true|false" unique-key="multicolumn_unique_key_name" index="index_name" sql-type="sql_type_name"
check="SQL expression" default="SQL expression"/>
2.3.5.2 menggunakan tools XDoclet
Pengguna Hibernate dapat juga memasukkan informasi mapping secara
langsung dalam kode program menggunakan XDoclet. Berikut contoh XDoclet
mapping : package eg; import java.util.Set; import java.util.Date; /** * @hibernate.class * table="CATS" */
public class Cat {
private Long id; // identifier private Date birthdate;
private Cat mother; private Set kittens private Color color; private char sex; private float weight;
/*
* @hibernate.id
* generator-class="native" * column="CAT_ID"
public Long getId() { return id;
}
private void setId(Long id) { this.id=id; } /** * @hibernate.many-to-one * column="PARENT_ID" */
public Cat getMother() { return mother; }
void setMother(Cat mother) { this.mother = mother; } /** * @hibernate.property * column="BIRTH_DATE" */
public Date getBirthdate() { return birthdate;
}
void setBirthdate(Date date) { birthdate = date;
} /**
* @hibernate.property * column="WEIGHT"
*/
public float getWeight() { return weight;
}
void setWeight(float weight) { this.weight = weight; } /** * @hibernate.property * column="COLOR" * not-null="true" */
public Color getColor() { return color;
}
void setColor(Color color) { this.color = color; } /** * @hibernate.set * inverse="true" * order-by="BIRTH_DATE" * @hibernate.collection-key * column="PARENT_ID" * @hibernate.collection-one-to-many */
public Set getKittens() { return kittens; }
void setKittens(Set kittens) { this.kittens = kittens;
}
// addKitten not needed by Hibernate public void addKitten(Cat kitten) { kittens.add(kitten); } /** * @hibernate.property * column="SEX" * not-null="true" * update="false" */
public char getSex() { return sex;
}
void setSex(char sex) { this.sex=sex; }
2.3.6 Bekerja dengan Obyek 2.3.6.1 Transisi State
• Obyek transient dapat dibuat menjadi persistent dengan memanggil fungsi
save(), persist() atau saveOrUpdate().
• Obyek persistent dapat dibuat menjadi transient dengan memanggil fungsi
delete().
• Setiap obyek yang dihasilkan oleh fungsi get() atau load() adalah
persistent.
• Obyek detached dapat dibuat menjadi persistent dengan memanggil fungsi
update(), saveOrUpdate(), lock() atau replicate().
2.3.6.2 Daur hidup operasi
Interface Session menyediakan fungsi-fungsi untuk operasi daur hidup.
Hasil dari fungsi-fungsi daur hidup akan berakibat pada state/keadaan obyek.
Operasi tersebut meliputi : save, load, get, refresh, update, delete dan query
obyek.
2.3.6.2.1 Saving obyek
Membuat obyek dari kelas yang dipetakan dengan Hibernate mapping
tidak secara otomatis menulis obyek tersebut ke dalam database. Obyek akan
ditulis dalam database bila menyimpannya dengan session Hibernate yang valid.
Selain itu, kelas dari obyek yang disimpan harus mempunyai file
• public Serializable save(Object object)
• public void save(Object object, Serializable id)
• public Serializable save(String entityName, Object object)
2.3.6.2.2 Loading Obyek
Operasi ini digunakan untuk mengambil obyek dari database. Tiap fungsi
load() membutuhkan primary key obyek sebagai pengenal. Selain itu, fungsi
load() juga membutuhkan kelas domain atau nama entitas yang digunakan untuk
menemukan obyek dengan identitas tertentu. Fungsi-fungsi yang digunakan
adalah :
– public Object load(Class theClass, Serializable id)
– public Object load(String entityName, Serializable id)
– public void load(Object object, Serializable id)
2.3.6.2.3 Getting obyek
Cara kerja operasi ini mirip dengan fungsi load(). Perbedaannya adalah:
• Jika yakin bahwa obyek benar-benar ada, maka digunakan fungsi
load().
• Jika tidak yakin bahwa obyek ada atau tidak, maka gunakan fungsi
get().
Fungsi yang digunakan adalah :
– public Object get(Class theClass, Serializable id)
2.3.6.2.4 Refreshing obyek
Operasi ini digunakan untuk me-refresh obyek dari database. Fungsi yang
digunakan adalah :
– public void refresh(Object object)
2.3.6.2.5 Updating obyek
Hibernate secara otomatis mengelola setiap perubahan yang dibuat ke
obyek persistent. Jika sebuah properti diubah ke obyek persisten, maka session
dalam Hibernate akan melakukan perubahan dalam database. Untuk developer,
cara ini lebih mudah karena tidak perlu banyak pekerjaan untuk menyimpan
perubahan dalam database. Untuk perubahan tersebut, Hibernate dapat dipaksa