public class SQLFunctionTemplate extends 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,
String template) |
SQLFunctionTemplate(Type type,
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?
|
String |
render(Type argumentType,
List args,
SessionFactoryImplementor factory)
Render the function call as SQL fragment.
|
String |
toString() |
public String render(Type argumentType, List args, SessionFactoryImplementor factory)
SQLFunction.getReturnType(org.hibernate.type.Type, org.hibernate.engine.spi.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.spi.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
Copyright © 2018 JBoss by Red Hat. All rights reserved.