Executing a query using HQL
HQL stands for Hibernate Query Language and is a fully object-oriented language. This language is a bit similar to the native query, but in the native SQL query, we use the physical table name and actual physical columns to execute a query, and in HQL, we have to use a class name instead of a table name and a field name instead of a column name.
HQL queries are converted to SQL queries by hibernate; so, we can use any of the styles. However, HQL is preferable from a performance point of view, because hibernate uses SQL directly without any optimization, and the HQL query uses hibernate's query generation strategy and caching mechanism.
How to do it…
There are multiple clauses available to work with HQL.
The FROM clause
We will use the simple FROM
clause to query an object to load the complete object.
Here, we will use the FROM Category
query, which is equal to SELECT * FROM category
in native SQL. Execute the following code:
Code
Query query = session.createQuery("FROM...