Simple Update : Update « Hibernate « Java






Simple Update

/////////////////////////////////////////////////////////////////////////

import java.util.Date;

import org.hibernate.Session;
import org.hibernate.Transaction;

public class SimpleUpdateTest {
  
  
  public static void main(String[] args) {
    HibernateUtil.setup("create table EVENTS ( EVENT_ID int, EVENT_DATE date, title VARCHAR);");
    // hibernate code start
    Session session = HibernateUtil.currentSession();
    Transaction tx = session.beginTransaction();

    Event theEvent = new Event();
    theEvent.setTitle("My Event");
    theEvent.setDate(new Date());

    session.save(theEvent);

    tx.commit();
    HibernateUtil.closeSession();

    HibernateUtil.sessionFactory.close();
    // hibernate code end
    
    update();
    
    HibernateUtil.checkData("select * from events;");

  }
    public static void update(){
      Session session = HibernateUtil.currentSession();
      Transaction tx = session.beginTransaction();
    
      Event e = (Event)session.get(Event.class, new Long(1));
      
      e.setTitle("new Title");
      session.update(e);
      
      tx.commit();
      HibernateUtil.closeSession();
      
    }


}


/////////////////////////////////////////////////////////////////////////

<?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 name="Event" table="EVENTS">
        <id name="id" column="EVENT_ID">
            <generator class="increment"/>
        </id>
        <property name="date" type="timestamp" column="EVENT_DATE"/>
        <property name="title"/>
    </class>




    <class name="EventWithAttendee" table="eventwithattendee">
        <id name="id" column="uid" type="long" unsaved-value="null">
            <generator class="native"/>
        </id>
        <property name="name" type="string" length="100"/>
        <property name="startDate" column="start_date"
                  type="date"/>
        <property name="duration" type="integer"/>
        <many-to-one name="location" column="location_id"
                     class="Location"/>
        <set name="attendees" cascade="all">
            <key column="event_id"/>
            <one-to-many class="EventAttendee"/>
        </set>
    </class>

    <class name="EventAttendee" table="attendees">
        <id name="id" column="uid" type="long">
            <generator class="native"/>
        </id>
        <property name="firstName" type="string" length="20"/>
        <property name="lastName" type="string" length="20"/>
    </class>

    <class name="Location" table="locations">
        <id name="id" column="uid" type="long">
            <generator class="native"/>
        </id>
        <property name="name" type="string"/>
        <property name="address" type="string"/>
    </class>
</hibernate-mapping>



/////////////////////////////////////////////////////////////////////////


import java.util.Date;

public class Event {
  private Long id;

  private String title;

  private Date date;

  Event() {
  }

  public Long getId() {
    return id;
  }

  private void setId(Long id) {
    this.id = id;
  }

  public Date getDate() {
    return date;
  }

  public void setDate(Date date) {
    this.date = date;
  }

  public String getTitle() {
    return title;
  }

  public void setTitle(String title) {
    this.title = title;
  }

  public String toString() {
    return "ID:" + id + "\nTitle:" + title + "\nDate:" + date;
  }
}


/////////////////////////////////////////////////////////////////////////

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!-- Database connection settings -->
        <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
        <property name="connection.url">jdbc:hsqldb:data/tutorial</property>
        <property name="connection.username">sa</property>
        <property name="connection.password"></property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.HSQLDialect</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>

        <mapping resource="Event.hbm.xml"/>

    </session-factory>

</hibernate-configuration>

           
       








HibernateSimpleUpdate.zip( 4,582 k)

Related examples in the same category