Hibernate Query Language (HQL) is a powerful query language. Being designed as an object-oriented extension to SQL bridges the gap between object-oriented systems and relational databases.
This language can also be used to retrieve objects from the database through O/R mapping by performing the following tasks:
HQL supports associations and polymorphism, which in turn allows developers to write queries using less code than SQL. In addition, HQL supports many other SQL statements and aggregate functions, such as sum() and max() and clauses, such as group by and order by.
The UPDATE clause can be used to update one or more properties of one or more objects. Following is the example of UPDATE clause −
String hql = "UPDATE Employee set salary = :salary " +
"WHERE id = :employee_id";
Query query = session.createQuery(hql);
query.setParameter("salary", 1000);
query.setParameter("employee_id", 10);
int result = query.executeUpdate();
System.out.println("Rows affected: " + result);
Bulk updates are new to HQL with Hibernate 3 and delete work differently in Hibernate 3 than in Hibernate 2. The Query interface now contains a method called executeUpdate() for executing HQL UPDATE or DELETE statements.