Hibernate Spring Hibernate Callback Demo : Spring Hibernate « Hibernate « Java






Hibernate Spring Hibernate Callback Demo

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

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);

        List results = template.executeFind(new HibernateCallback() {
            public Object doInHibernate(Session session) throws HibernateException, SQLException {
                Query query = session.createQuery("from Event");
                query.setMaxResults(2);
                return query.list();
            }
        });

        System.out.println(results.size());
        
        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);
    }
}




           
       








HibernateSpringHibernateCallbackDemo.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.Spring Hibernate Template Execute