CreateSQLQuery Hibernate

This section contain how CreateSQLQuery work in Hibernate.

CreateSQLQuery Hibernate

CreateSQLQuery Hibernate

This section contain how CreateSQLQuery work in Hibernate.

CreateSQLQuery Hibernate :

By using CreateSQLQuery() method you can directly call native SQL statement.
Hibernate provides native SQL query concept to utilize database-specific features.

According to some people Hibernate generated query is slow and they prefer SQL.
Hibernate provide way to use Hibernate native SQL query by calling it by createSQLQuery() method.

Query query = session.createSQLQuery(sql);

Example : This example shows how to use native query. student is our table.

package net.roseindia.main;

import net.roseindia.util.HibernateUtil;
import java.util.*;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;

public class HibernateCreateSQLQuery {
public static void main(String[] args) {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
String sql = "Select * FROM employee WHERE name like 'M%'";
Query query = session.createSQLQuery(sql);

List<Object> objectList = query.list();
Iterator iterator = objectList.iterator();
System.out.println("Emp Id\t Name\tSalary");
while(iterator.hasNext()){ 
Object []obj = (Object[])iterator.next();
System.out.print(obj[0]);
System.out.print("\t"+obj[1]);
System.out.print("\t"+obj[2]);
System.out.println();
}
}
}

Output:

Hibernate: Select * FROM employee WHERE name like 'M%'
Emp Id   Name     Salary
1        Mandy    20000
3        Mac      15000

Click here to download complete source code