|
Order by Clause
The following example shows using HQL order by clause.
Refer first example for the configuration and mapping.
|
package com.bethecoder.tutorials.hibernate.basic.tests;
import java.util.List;
import org.hibernate.Session;
import com.bethecoder.tutorials.hibernate.basic.Company;
import com.bethecoder.tutorials.hibernate.basic.util.HibernateUtil;
public class HQLOrderByTest {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("Companies in ascending order of ids");
getCompanies("from Company comp order by comp.id");
System.out.println("Companies in descending order of ids");
getCompanies("from Company comp order by comp.id desc");
}
private static void getCompanies(String hql) {
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
List<Company> companies = (List<Company>) session.createQuery(hql).list();
for (Company company : companies) {
System.out.println(company);
}
session.getTransaction().commit();
session.close();
}
}
|
| |
It gives the following output,
Companies in ascending order of ids
{ id = 1, name = PQR, employeeCount = 3430,
projectCount = 220, address1 = add1@, address2 = add2 }
{ id = 2, name = ABC, employeeCount = 23430,
projectCount = 160, address1 = add11, address2 = add22 }
{ id = 3, name = MNO, employeeCount = 26790,
projectCount = 670, address1 = add111, address2 = add222 }
{ id = 4, name = IJK, employeeCount = 67890,
projectCount = 850, address1 = add1112, address2 = add2223 }
{ id = 5, name = ART, employeeCount = 67890,
projectCount = 850, address1 = add1112, address2 = add2223 }
{ id = 6, name = RNK, employeeCount = 98890,
projectCount = 8478, address1 = add1412, address2 = add27823 }
{ id = 7, name = AOQ, employeeCount = 97890,
projectCount = 4578, address1 = add17892, address2 = add2893 }
{ id = 8, name = BQO, employeeCount = 9778,
projectCount = 487, address1 = add1459, address2 = add2443 }
{ id = 9, name = CFR, employeeCount = 478,
projectCount = 2487, address1 = null, address2 = add2443 }
{ id = 10, name = CFR, employeeCount = 6478,
projectCount = 887, address1 = , address2 = add24435 }
Companies in descending order of ids
{ id = 10, name = CFR, employeeCount = 6478,
projectCount = 887, address1 = , address2 = add24435 }
{ id = 9, name = CFR, employeeCount = 478,
projectCount = 2487, address1 = null, address2 = add2443 }
{ id = 8, name = BQO, employeeCount = 9778,
projectCount = 487, address1 = add1459, address2 = add2443 }
{ id = 7, name = AOQ, employeeCount = 97890,
projectCount = 4578, address1 = add17892, address2 = add2893 }
{ id = 6, name = RNK, employeeCount = 98890,
projectCount = 8478, address1 = add1412, address2 = add27823 }
{ id = 5, name = ART, employeeCount = 67890,
projectCount = 850, address1 = add1112, address2 = add2223 }
{ id = 4, name = IJK, employeeCount = 67890,
projectCount = 850, address1 = add1112, address2 = add2223 }
{ id = 3, name = MNO, employeeCount = 26790,
projectCount = 670, address1 = add111, address2 = add222 }
{ id = 2, name = ABC, employeeCount = 23430,
projectCount = 160, address1 = add11, address2 = add22 }
{ id = 1, name = PQR, employeeCount = 3430,
projectCount = 220, address1 = add1@, address2 = add2 }
|
|