public class SQLFunctionTemplate extends java.lang.Object implements SQLFunction
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 and Description |
---|
SQLFunctionTemplate(Type type,
java.lang.String template) |
SQLFunctionTemplate(Type type,
java.lang.String template,
boolean hasParenthesesIfNoArgs) |
Modifier and Type | Method and Description |
---|---|
Type |
getReturnType(Type argumentType,
Mapping mapping)
The return type of the function.
|
boolean |
hasArguments()
Does this function have any arguments?
|
boolean |
hasParenthesesIfNoArguments()
If there are no arguments, are parentheses required?
|
java.lang.String |
render(Type argumentType,
java.util.List args,
SessionFactoryImplementor factory)
Render the function call as SQL fragment.
|
java.lang.String |
toString() |
public SQLFunctionTemplate(Type type, java.lang.String template)
public SQLFunctionTemplate(Type type, java.lang.String template, boolean hasParenthesesIfNoArgs)
public java.lang.String render(Type argumentType, java.util.List args, SessionFactoryImplementor factory)
SQLFunction.getReturnType(org.hibernate.type.Type, org.hibernate.engine.Mapping)
render
in interface SQLFunction
argumentType
- The type of the first argumentargs
- The function argumentsfactory
- The SessionFactorypublic Type getReturnType(Type argumentType, Mapping mapping) throws QueryException
SQLFunction.render(org.hibernate.type.Type, java.util.List, org.hibernate.engine.SessionFactoryImplementor)
getReturnType
in interface SQLFunction
argumentType
- 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 java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2013. All Rights Reserved.