Hibernate: Model Yang Selalu Berubah


Hibernate tidak harus melakukan mapping dari database ke class Java. Ia juga bisa menghasilkan mapping dari database ke dalam object Map. Sebagai contoh, aku membuat file mapping sebagai berikut:

<?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>

  <class entity-name="Person">

      <id name="id" column="PERSON_ID" type="long">
           <generator class="native" />
      </id>

      <property name="firstName" column="FIRSTNAME" type="string"/>

      <property name="lastName" column="LASTNAME" type="string" />

      <property name="age" column="AGE" type="int" />

  </class>

</hibernate-mapping>

Untuk menyimpan data ke tabel PERSON, aku menggunakan kode program sebagai berikut:

SessionFactory sessionFactory = new
   Configuration().configure().buildSessionFactory();
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();

Map mapPerson = new HashMap();
mapPerson.put("firstName", "Solid");
mapPerson.put("lastName", "Snake");
mapPerson.put("age", 15);

session.save("Person", mapPerson);

session.getTransaction().commit();

Dengan coding seperti di atas, aku tidak perlu menggunakan sebuah class POJO, tapi cukup sebuah HashMap. Untuk memastikan data tersimpan ke database, aku menggunakan kode program seperti berikut:

     List lstPersons = session.createQuery("FROM Person").list();

     for (int i=0; i<lstPersons.size(); i++) {
       Map mapPerson = (Map) lstPersons.get(i);
       System.out.println("ID = " + mapPerson.get("id"));
       System.out.println("Firstname = " + mapPerson.get("firstName"));
       System.out.println("Lastname = " + mapPerson.get("lastName"));
       System.out.println("Age = " + mapPerson.get("age"));
     }

Perihal Solid Snake
I'm nothing...

Apa komentar Anda?

Please log in using one of these methods to post your comment:

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

%d blogger menyukai ini: