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