The Hibernate Query Language (HQL) methods return a single or multi-dimensional array of values or entities, based on what the HQL query returns. If you are sure that only one record exists that matches this filter criteria, specify unique=true so that a single entity is returned instead of an array. 
If unique=true and multiple records are returned, then an exception is thrown.

Note: entityname and properties used in HQL are case sensitive.

The following HQL methods are available:

  • ORMExecuteQuery(hql, [,unique][, queryoptions])
  • ORMExecuteQuery(hql, params [,unique] [,queryOptions])
  • ORMExecuteQuery(hql, namedparams [, unique] [, queryOptions])

ORMExecuteQuery(hql, [,unique] [, queryoptions])

Description

Runs HQL on the default data source specified for the application. You can specify several options to control the behavior of retrieval using queryOptions:

  • ignorecase: Ignores the case of sort order when you set it to true. Use this option only when you specify the sortorder parameter.
  • maxResults: Specifies the maximum number of objects to be retrieved.
  • offset: Specifies the start index of the resultset from where it has to start the retrieval.
  • cacheable: Whether the result of this query is to be cached in the secondary cache. Default is false.
  • cachename: Name of the cache in secondary cache.
  • timeout: Specifies the timeout value (in seconds) for the query

    Note: Maxresults and timeout are used for pagination.

Category

ORM functions

Example
<cfset employees = ORMExecuteQuery("from Employees")> 
<cfset employees = ORMExecuteQuery("from Employees where age > 40")> 
<cfset employeeObj = ORMExecuteQuery("from Employees where EmployeeID =1", true)> 
<cfset firstNameArray = ORMExecuteQuery("select FirstName from Employees")> 
<cfset numberOfEmps = ORMExecuteQuery("select count(*) from Employees")> 
<cfset firstName = ORMExecuteQuery("select FirstName from Employees where EmployeeID = 1", true)> 
<cfset employees = ORMExecuteQuery("from Employees", false, {offset=5, maxresults=10, timeout=5})>

ORMExecuteQuery(hql, params [,unique] [,queryOptions])

Description

This type of ORMExecuteQuery lets you pass parameters to the query. Use '?' (question mark) as the placeholder for the parameters. The values to the parameters must be passed as an array to params.In addition, you can specify several options to control the behavior of retrieval using queryOptions:

  • ignorecase: Ignores the case of sort order when you set it to true. Use this option only when you specify the sortorder parameter.
  • maxResults: Specifies the maximum number of objects to be retrieved.
  • offset: Specifies the start index of the resultset from where it has to start the retrieval.
  • cacheable: Whether the result of this query is to be cached in the secondary cache. Default is false.
  • cachename: Name of the cache in secondary cache.
  • timeout: Specifies the timeout value (in seconds) for the query

    Note: Maxresults and timeout are used for pagination.

Category

ORM functions

Example
<cfset employees = ORMExecuteQuery("from Employee where age > ?", [40])> 
<cfset employeeObj = ORMExecuteQuery("from Employee where EmployeeID=?", [1], true)> 
<cfset employees = ORMExecuteQuery("from Employee where age > ? and age < ?", [40, 80])>

ORMExecuteQuery(hql, namedparams [, unique] [, queryOptions])

Description

This type of ORMExecuteQuery lets you pass named parameters to the query. The placeholder for the parameter must be a name and must start with ":" as in ":age" or ":id". The values to the names must be passed as key-value pairs.In addition, you can specify several options to control the behavior of retrieval using queryOptions:

  • ignorecase: Ignores the case of sort order when you set it to true. Use this option only when you specify the sortorder parameter.
  • maxResults: Specifies the maximum number of objects to be retrieved.
  • offset: Specifies the start index of the resultset from where it has to start the retrieval.
  • cacheable: Whether the result of this query is to be cached in the secondary cache. Default is false.
  • cachename: Name of the cache in secondary cache.
  • timeout: Specifies the timeout value (in seconds) for the query

    Note: Maxresults and timeout are used for pagination.

Category

ORM functions

Example

To retrieve employee details of all employees whose reside in USA and are also citizens of USA:

<cfset USEmployees = ORMExecuteQuery("from Employee where country=:country and 
citizenship=:country", {country='USA'})> 
<cfset orderDetail = ORMExecuteQuery("from Orders where OrderID=:orderid and 
ProductID=:productid", {orderid=1, productid=901}, true)>

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy