public class SQLFunctionTemplate extends Object implements SQLFunction
concat(?1, ?2)
to concatenate two strings
p1 and p2. Dialects would register different versions of this class *using the same name* (concat) but with
different templates or patterns; (?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)
Constructs a SQLFunctionTemplate
|
SQLFunctionTemplate(Type type,
String template,
boolean hasParenthesesIfNoArgs)
Constructs a SQLFunctionTemplate
|
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 SQLFunctionTemplate(Type type, String template)
type
- The functions return typetemplate
- The function templatepublic String render(Type argumentType, List args, SessionFactoryImplementor factory)
SQLFunction
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
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()
SQLFunction
hasArguments
in interface SQLFunction
public boolean hasParenthesesIfNoArguments()
SQLFunction
hasParenthesesIfNoArguments
in interface SQLFunction
Copyright © 2019 JBoss by Red Hat. All rights reserved.