25.5. Database functions


This is a new area in Hibernate and as such it is not as mature as the overall Hibernate experience.
SQL functions can be referenced in many ways by users. However, not all databases support the same set of functions. Hibernate, provides a means of mapping a logical function name to a delegate which knows how to render that particular function, perhaps even using a totally different physical function call.


Technically this function registration is handled through the org.hibernate.dialect.function.SQLFunctionRegistry class which is intended to allow users to provide custom function definitions without having to provide a custom dialect. This specific behavior is not fully completed as of yet.
It is sort of implemented such that users can programmatically register functions with the org.hibernate.cfg.Configuration and those functions will be recognized for HQL.