The below program uses HQL which stands for Hibernate Query Language. In HQL we use class names instead
of table names. And instead of using column names for the where clause, we use member variables. Also, note
that if we want to retrieve all the records from the table, there is no need to use "select" clause. Below
program retrieves student id's in between 2 and 8 and displays them in the console.
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property> <property name="connection.username">hr</property> <property name="connection.password">hr</property> <!-- JDBC connection pool (use the built-in) --> <property name="connection.pool_size">1</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.OracleDialect</property> <!-- Disable the second-level cache --> <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">create</property> <!-- Names the annotated entity class --> <mapping class="com.ram.dao.Student"/> </session-factory> </hibernate-configuration>
File: com.ram.dao.Student.java
package com.ram.dao; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity public class Student { @Id @GeneratedValue private int studentId; private String studentName; public int getStudentId() { return studentId; } public void setStudentId(int studentId) { this.studentId = studentId; } public String getStudentName() { return studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } }
File: com.ram.hibernate.HQLExample.java
package com.ram.hibernate; import java.util.Iterator; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import com.ram.dao.Student; public class HQLExample { public static void main(String[] args) { SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); Session session = sessionFactory.openSession(); session.beginTransaction(); Query query = session.createQuery("from Student where studentId > 2 and studentId < 8"); List students = query.list(); System.out.println("No.of students between 2 and 8 are "+students.size()); for(Iteratorit = students.iterator(); it.hasNext();){ Student stud = it.next(); System.out.print("Student Id = "+stud.getStudentId()); System.out.println("\tStudent Name = "+stud.getStudentName()); } session.getTransaction().commit(); session.close(); } }
No comments:
Post a Comment