|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.hibernate.dialect.function.SQLFunctionTemplate
public class SQLFunctionTemplate
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).
Constructor Summary | |
---|---|
SQLFunctionTemplate(Type type,
String template)
|
|
SQLFunctionTemplate(Type type,
String template,
boolean hasParenthesesIfNoArgs)
|
Method Summary | |
---|---|
Type |
getReturnType(Type columnType,
Mapping mapping)
The return type of the function. |
boolean |
hasArguments()
Does this function have any arguments? |
boolean |
hasParenthesesIfNoArguments()
If there are no arguments, are parens required? |
String |
render(List args,
SessionFactoryImplementor factory)
Render the function call as SQL fragment. |
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public SQLFunctionTemplate(Type type, String template)
public SQLFunctionTemplate(Type type, String template, boolean hasParenthesesIfNoArgs)
Method Detail |
---|
public String render(List args, SessionFactoryImplementor factory)
render
in interface SQLFunction
args
- The function argumentsfactory
- The SessionFactory
public Type getReturnType(Type columnType, Mapping mapping) throws QueryException
getReturnType
in interface SQLFunction
columnType
- the type of the first argumentmapping
- The mapping source.
QueryException
- Indicates an issue resolving the return type.public boolean hasArguments()
hasArguments
in interface SQLFunction
public boolean hasParenthesesIfNoArguments()
hasParenthesesIfNoArguments
in interface SQLFunction
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |