org.hibernate.dialect.function
Interface SQLFunction
-
All Known Implementing Classes:
- AbstractAnsiTrimEmulationFunction, AnsiTrimEmulationFunction, AnsiTrimFunction, AvgFunction, AvgWithArgumentCastFunction, CastFunction, CharIndexFunction, ClassicAvgFunction, ClassicCountFunction, ClassicSumFunction, ConditionalParenthesisFunction, ConvertFunction, DerbyConcatFunction, NoArgSQLFunction, NvlFunction, PositionSubstringFunction, SQLFunctionTemplate, StandardJDBCEscapeFunction, StandardSQLFunction, TrimFunctionTemplate, VarArgsSQLFunction
public interface SQLFunction
Provides support routines(常规) for the HQL functions as used in the various(各种) SQL Dialects Provides an interface for supporting various HQL functions that are translated(翻译) to SQL. The Dialect and its sub-classes use this interface to provide details required(必须的) for processing(处理) of the function.
org.hibernate.dialect.function
Class SQLFunctionTemplate
java.lang.Object org.hibernate.dialect.function.SQLFunctionTemplate
-
All Implemented Interfaces:
- SQLFunction
public class SQLFunctionTemplate extends Object implements SQLFunction
Represents HQL functions that can have different representations(表现) in different SQL dialects. E.g. in HQL we can define function concat(?1, ?2)
to concatenate(连接) two strings p1 and p2. Target(规定) SQL function will be dialect-specific, e.g. (?1 || ?2)
for Oracle, concat(?1, ?2)
for MySql, (?1 + ?2)
for MS SQL. Each dialect will define a template(模板) as a string (exactly like above) marking function parameters with '?' followed by parameter's index (first index is 1).