|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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 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()
|
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(Type argumentType, 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 SessionFactory
public 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 String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |