/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.loader.custom;
import java.util.List;
import java.util.Set;
import org.hibernate.param.ParameterBinder;
Extension point allowing any SQL query with named and positional parameters
to be executed by Hibernate, returning managed entities, collections and
simple scalar values.
Author: Gavin King, Steve Ebersole
/**
* Extension point allowing any SQL query with named and positional parameters
* to be executed by Hibernate, returning managed entities, collections and
* simple scalar values.
*
* @author Gavin King
* @author Steve Ebersole
*/
public interface CustomQuery {
The SQL query string to be performed.
Returns: The SQL statement string.
/**
* The SQL query string to be performed.
*
* @return The SQL statement string.
*/
String getSQL();
Any query spaces to apply to the query execution. Query spaces are
used in Hibernate's auto-flushing mechanism to determine which
entities need to be checked for pending changes.
Returns: The query spaces
/**
* Any query spaces to apply to the query execution. Query spaces are
* used in Hibernate's auto-flushing mechanism to determine which
* entities need to be checked for pending changes.
*
* @return The query spaces
*/
Set<String> getQuerySpaces();
List<ParameterBinder> getParameterValueBinders();
A collection of descriptors
describing the JDBC result set to be expected and how to map this result set. Returns: List of return descriptors.
/**
* A collection of {@link Return descriptors} describing the
* JDBC result set to be expected and how to map this result set.
*
* @return List of return descriptors.
*/
List<Return> getCustomQueryReturns();
}