Spring Hibernate Template Execute : Spring Hibernate « Hibernate « Java






Spring Hibernate Template Execute

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

import java.util.*;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.HibernateCallback;

import java.sql.*;
import org.hibernate.*;
import org.hibernate.criterion.*;

public class Main {
  
  
  public static void main(String[] args) {
    HibernateUtil.setup("create table EVENTS ( uid int, name VARCHAR, start_Date date, duration int);");
    
    // hibernate code start
        HibernateFactory.buildSessionFactory();
        SessionFactory sessionFactory= HibernateFactory.getSessionFactory();
        HibernateTemplate template= new HibernateTemplate(sessionFactory);


        Event event1 = new Event("Event 1");
        Event event2 = new Event("Event 2");
        Event event3 = new Event("Event 3");

        template.save(event1);
        template.save(event2);
        template.save(event3);

        template.execute(new HibernateCallback() {
            public Object doInHibernate(Session session) throws HibernateException, SQLException {
                Query query = session.createQuery("from Event");
                query.setMaxResults(2);
                List events = query.list();
                for (Iterator it = events.iterator(); it.hasNext();) {
                    Event event = (Event) it.next();
                    System.out.println(event.getName());
                    event.setDuration(60);
                }
                return null;
            }
        });
        
        HibernateUtil.checkData("select uid, name from events");        

        HibernateFactory.closeFactory();
        
    // hibernate code end
  }
  
}


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

<?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="uid" type="long">
            <generator class="increment"/>
        </id>
        <property name="name" type="string"/>
        <property name="startDate" column="start_date" type="date"/>
        <property name="duration" type="integer"/>
    </class>
</hibernate-mapping>




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


import java.io.Serializable;
import java.util.Date;
import java.util.Set;
import java.util.LinkedHashSet;

public class Event implements Serializable {
    private Long id;
    private int duration;
    private String name;
    private Date startDate;

    public Event() {

    }

    public Event(String name) {
        this.name = name;
    }

    /**
     * @hibernate.id generator-class="native" column="uid"
     * @return
     */
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }

    /**
     * @hibernate.property column="name"
     * @return
     */
    public String getName() { return name; }
    public void setName(String name) { this.name = name;   }

    /**
     * @hibernate.property column="start_date"
     * @return
     */
    public Date getStartDate() { return startDate; }
    public void setStartDate(Date startDate) { this.startDate = startDate; }

    /**
     * @hibernate.property column="duration"
     * @return
     */
    public int getDuration() { return duration; }
    public void setDuration(int duration) { this.duration = duration; }

}


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


/**
 * Represents Exceptions thrown by the Data Access Layer.
 */
public class DataAccessLayerException extends RuntimeException {
    public DataAccessLayerException() {
    }

    public DataAccessLayerException(String message) {
        super(message);
    }

    public DataAccessLayerException(Throwable cause) {
        super(cause);
    }

    public DataAccessLayerException(String message, Throwable cause) {
        super(message, cause);
    }
}


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

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


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








HibernateSpringHibernateTemplateExecute.zip( 6,346 k)

Related examples in the same category

1.Hibernate Spring Hibernate Template Find
2.Spring Hibernate Template Save Or Update
3.Spring Dao Demo
4.Spring Dao Injection
5.Hibernate Spring Environment Setup
6.Hibernate Spring Hibernate Callback Demo