Simple Query With Parameters : Query « Hibernate « Java






Simple Query With Parameters

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


import java.util.Date;
import java.util.List;

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

public class SimpleRetrieveTest {
  
  
  public static void main(String[] args) {
    HibernateUtil.setup("create table EVENTS ( uid int, name VARCHAR, start_Date date, duration int, location_id int);");
    HibernateUtil.setup("create table locations ( uid int, name VARCHAR, address VARCHAR);");
    // hibernate code start
    Session session = HibernateUtil.currentSession();
    Transaction tx = session.beginTransaction();


        Location location = new Location();
        location.setName("USA");
        location.setAddress("Address");
        session.save(location);


        Event e= new Event();
        e.setId(11111L);
        e.setName("testSave");
        e.setStartDate(new Date());
        e.setLocation(location);
        e.setName("testSave");

    session.save(e);

        List results = session.createQuery("from Event e where e.name=?").setString(0, "testSave").list();
    
    System.out.println(results.size());
    
    tx.commit();
    HibernateUtil.closeSession();

    HibernateUtil.sessionFactory.close();

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

  }
}


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


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping>
    <!--
    This is a simplified version of the Event class used to
    demonstrate proxies.
    -->
    <class name="Event" table="events">
        <id name="id" column="uid" type="long" unsaved-value="null">
            <generator class="assigned"/>
        </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"/>
    </class>
</hibernate-mapping>



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

import java.util.Date;

public class Event {

  private Long id;
  private String name;
  private Date startDate;
  private int duration;
    private Location location;

  public void setId(Long id) {
    this.id = id;
  }
  
  public Long getId() {
    return id;
  }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public int getDuration() {
        return duration;
    }

    public void setDuration(int duration) {
        this.duration = duration;
    }

    public Location getLocation() {
        return location;
    }

    public void setLocation(Location location) {
        this.location = location;
    }


}




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

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

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



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

public class Location {

    private Long id;
    private String name;
    private String address;

    public Long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}



/////////////////////////////////////////////////////////////////////////
<?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"/>
        <mapping resource="Location.hbm.xml"/>
        <mapping resource="Speaker.hbm.xml"/>
    </session-factory>

</hibernate-configuration>
           
       








HibernateSimpleQueryWithSetString.zip( 4,582 k)

Related examples in the same category

1.Simple Query
2.Simple Query for Only Class Property
3.Simple Query Iterating Class results
4.Simple Query Queries That Returns Tuples
5.Simple Query Scalar Results