Package org.hibernate.dialect.function
Class CurrentFunction
java.lang.Object
org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
org.hibernate.dialect.function.CurrentFunction
- All Implemented Interfaces:
FunctionRenderer
,SqmFunctionDescriptor
A "function" with no parameters that returns the current date, time, or timestamp.
For example,
current_date
.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Will a call to the described function always include parentheses?void
render
(SqlAppender sqlAppender, List<? extends SqlAstNode> arguments, ReturnableType<?> returnType, SqlAstTranslator<?> walker) Methods inherited from class org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
generateSqmAggregateFunctionExpression, generateSqmFunctionExpression, generateSqmOrderedSetAggregateFunctionExpression, generateSqmWindowFunctionExpression, getFunctionKind
Methods inherited from class org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
generateAggregateSqmExpression, generateOrderedSetAggregateSqmExpression, generateSqmExpression, generateWindowSqmExpression, getArgumentsValidator, getArgumentTypeResolver, getName, getReturnSignature, getReturnTypeResolver, getSignature
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.query.sqm.function.FunctionRenderer
render, render, render, render
Methods inherited from interface org.hibernate.query.sqm.function.SqmFunctionDescriptor
generateSqmExpression, generateSqmExpression, isPredicate
-
Constructor Details
-
CurrentFunction
-
-
Method Details
-
render
public void render(SqlAppender sqlAppender, List<? extends SqlAstNode> arguments, ReturnableType<?> returnType, SqlAstTranslator<?> walker) - Specified by:
render
in interfaceFunctionRenderer
- Overrides:
render
in classAbstractSqmSelfRenderingFunctionDescriptor
-
getArgumentListSignature
- Overrides:
getArgumentListSignature
in classAbstractSqmFunctionDescriptor
-
alwaysIncludesParentheses
public boolean alwaysIncludesParentheses()Description copied from interface:SqmFunctionDescriptor
Will a call to the described function always include parentheses?Instances of this interface are usually used for rendering of functions. However, there are cases where Hibernate needs to consume a fragment and decide if a token represents a function name. In cases where the token is followed by an opening parenthesis, we can safely assume the token is a function name. Bur if the next token is not an opening parenthesis, the token might still represent a function if the function has a "no paren" form in the case of no arguments.
For example, many databases do not require parentheses for functions like
current_timestamp
and friends. This method helps account for those cases.- Returns:
true
by default
-