1818import org .hibernate .dialect .BooleanDecoder ;
1919import org .hibernate .dialect .RowLockStrategy ;
2020import org .hibernate .dialect .function .CommonFunctionFactory ;
21+ import org .hibernate .dialect .function .OracleTruncFunction ;
2122import org .hibernate .query .sqm .produce .function .StandardFunctionReturnTypeResolvers ;
2223import org .hibernate .dialect .lock .LockingStrategy ;
2324import org .hibernate .dialect .lock .OptimisticForceIncrementLockingStrategy ;
@@ -205,7 +206,7 @@ public void initializeFunctionRegistry(FunctionContributions functionContributio
205206 "sysdate" , new CurrentFunction ("sysdate" , "sysdate" , timestampType )
206207 );
207208 functionContributions .getFunctionRegistry ().register (
208- "getdate" , new StandardSQLFunction ("getdate" , StandardBasicTypes . TIMESTAMP )
209+ "getdate" , new CurrentFunction ("getdate" , "getdate()" , timestampType )
209210 );
210211
211212 // Multi-param date dialect functions
@@ -219,12 +220,11 @@ public void initializeFunctionRegistry(FunctionContributions functionContributio
219220 functionFactory .sinh ();
220221 functionFactory .tanh ();
221222 functionContributions .getFunctionRegistry ().register (
222- "trunc" , new StandardSQLFunction ("trunc" )
223+ "trunc" ,
224+ new OracleTruncFunction ( functionContributions .getTypeConfiguration () )
223225 );
224226 functionContributions .getFunctionRegistry ().registerAlternateKey ( "truncate" , "trunc" );
225- functionContributions .getFunctionRegistry ().register (
226- "round" , new StandardSQLFunction ("round" )
227- );
227+ functionFactory .round ();
228228
229229 // Bitwise functions
230230 functionContributions .getFunctionRegistry ()
0 commit comments