JPA - Order By Clause



Order By clause is used after Where clause in a query to order the records.

Following the same example employee management used in previous chapters, we will go through the service classes using order by clause of JPQL.

Example - Usage of Order By Clause using JPA

Create a class named OrderByDemo.java under com.tutorialspoint.eclipselink.service package as follows−

OrderByDemo.java

package com.tutorialspoint.eclipselink.service;

import java.util.List;

import com.tutorialspoint.eclipselink.entity.Employee;

import jakarta.persistence.EntityManager;
import jakarta.persistence.EntityManagerFactory;
import jakarta.persistence.Persistence;
import jakarta.persistence.Query;

public class OrderByDemo {
   public static void main( String[ ] args ) {
   
      EntityManagerFactory emfactory = Persistence.createEntityManagerFactory( "Eclipselink_JPA" );
      EntityManager entitymanager = emfactory.createEntityManager();

      // Order By
      Query query = entitymanager.createQuery( "Select e " + "from Employee e " + "ORDER BY e.ename ASC" );

      List<Employee> list = (List<Employee>)query.getResultList( );

      for( Employee e:list ) {
         System.out.print("Employee ID :" + e.getEid( ));
         System.out.println("\t Employee Name :" + e.getEname( ));
      }
   }
}

Output

Run the code as Java Application in Eclipse IDE.

After compilation and execution of the above program you will get following result on the console panel of eclipse IDE.

Employee ID :1201	 Employee Name :Gopal
Employee ID :1206	 Employee Name :Kiran
Employee ID :1205	 Employee Name :Krishna
Employee ID :1202	 Employee Name :Manisha
Employee ID :1203	 Employee Name :Masthanvali
Employee ID :1204	 Employee Name :Satish

Example - Ordering in Descending Order using JPA

OrderByDemo.java

package com.tutorialspoint.eclipselink.service;

import java.util.List;

import com.tutorialspoint.eclipselink.entity.Employee;

import jakarta.persistence.EntityManager;
import jakarta.persistence.EntityManagerFactory;
import jakarta.persistence.Persistence;
import jakarta.persistence.Query;

public class OrderByDemo {
   public static void main( String[ ] args ) {
   
      EntityManagerFactory emfactory = Persistence.createEntityManagerFactory( "Eclipselink_JPA" );
      EntityManager entitymanager = emfactory.createEntityManager();

      // Order By
      Query query = entitymanager.createQuery( "Select e " + "from Employee e " + "ORDER BY e.ename DESC" );

      List<Employee> list = (List<Employee>)query.getResultList( );

      for( Employee e:list ) {
         System.out.print("Employee ID :" + e.getEid( ));
         System.out.println("\t Employee Name :" + e.getEname( ));
      }
   }
}

Output

Run the code as Java Application in Eclipse IDE.

After compilation and execution of the above program you will get following result on the console panel of eclipse IDE.

Employee ID :1204	 Employee Name :Satish
Employee ID :1203	 Employee Name :Masthanvali
Employee ID :1202	 Employee Name :Manisha
Employee ID :1205	 Employee Name :Krishna
Employee ID :1206	 Employee Name :Kiran
Employee ID :1201	 Employee Name :Gopal
Advertisements