Hibernate Named Query

Hibernate Java - Hibernate Open Source ORM tool in Java What is difference between Hibernate 4 and 5? Hibernate 5.3 features Hibernate 5 JPA Configuration Hibernate 5 persistence.xml example Hibernate 5 JPA Tutorial Hibernate and JPA Example How properties of a class are mapped to the columns of a database table in Hibernate? Hibernate 5 Annotations Maven dependency Hibernate 5 annotationconfiguration Doctype Hibernate-configuration 5 Hibernate 5 Dialect Hibernate 5 configuration dtd Hibernate 5 Hello World Getting started with Hibernate 5 Hibernate 5.2.10 jar Download Hibernate 5.2.10 Maven Dependency Hibernate 5 Maven Dependency Hibernate 5 native query example Hibernate 5 query deprecated When should you use Hibernate? What's new in Hibernate 5? How much time it takes to learn Hibernate? Hibernate envers custom revinfo table Hibernate 5 Envers Hibernate Envers get all revisions Hibernate Examples Hibernate 5 build SessionFactory Example Hibernate 5 SessionFactory Example Hibernate 5 Annotation Example How to download Hibernate 5.x? Hibernate 5 Features Hibernate 5 Tutorials Learning Hibernate ORM - Free Training/Tutorial videos of Hibernate ORM with Java How to write hello world example program in Hibernate? How to create one to one relationship in Hibernate 4 with Annotation? How to calculate minimum in Hibernate using the min() Function Hibernate ORM 4.2.21.Final Released - Create CURD application in latest Hibernate Hibernate ORM 4.2.21 Tutorial - Learn Hibernate ORM Framework Hibernate Error: Failed to create sessionFactory object.java.lang.NoClassDefFoundError

Hibernate Named Query

This section contain description of named query with example.

This section contain description of named query with example.

Hibernate Named Query

This section contain description of named query with example.

Hibernate Named Query :

Hibernate provides concept of named query. It is very useful concept as you tie your HQL or native query outside your main code.
In Hibernate named query, your queries are mentioned into the mapping file (*.hbm files) or by using annotation.

1. XML Mapping File : Here you can see how to declare named query in mapping xml file (*.hbm file ) -

<sql-query name="SelectStudentDetail">
<return alias="student" class="net.roseindia.table.Student"/>
<![CDATA[select * from student s]]>

2. Annotation : Hibernate provide named query concept using annotation. Take a view how to use annotation for named query.

query="SELECT stud FROM Student stud"


Example : Now we are going to give example which will help you in understanding how to use named query in hibernate.

In this example we are using annotation. Student.java is our persistent class.

package net.roseindia.table;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
query="SELECT stud FROM Student stud"

public class Student implements Serializable {

private int roll;

private String name;

private String course;

public Student() {


public int getRoll() {
return roll;

public void setRoll(int roll) {
this.roll = roll;

public String getName() {
return name;

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

public String getCourse() {
return course;

public void setCourse(String course) {
this.course = course;


Here is main class showing how to use named query -

package net.roseindia.apps;

import java.util.Iterator;
import java.util.List;

import net.roseindia.table.Student;
import net.roseindia.util.HibernateUtil;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;

public class MyApps {
public static void main(String []args){
Session session=HibernateUtil.getSessionFactory().openSession();
Query query=session.getNamedQuery("SelectStudentDetail");

List list = query.list();
Iterator iterator = list.iterator();
System.out.println("Roll No\tName\tCourse");
Student stud = (Student) iterator.next();

}catch(HibernateException e){

session.getNamedQuery() is used for calling the named query.You can call it by using named query name as in this example is "SelectStudentDetail" .

Output :

Hibernate: select student0_.roll_no as roll1_0_, student0_.course as course0_, student0_.name as name0_ from student student0_
Roll No   Name    Course
1         Rondy   java
3         Johny   unix
4         Roxi    Hibernate
5         Johny   Hibernate
6         johny   C

Click here to download complete code