Для запросов HQL вам необходимо создать свой собственный диалект на основе используемого вами диалекта Oracle (Oracle10gDialect) и добавить свою функцию к этому диалекту.
Для запросов Criteria вы можете определить собственную реализацию Criterion и использовать ее в своем запросе. Этот критерий отвечает за генерацию выражения SQL. Посмотрите источники Hibernate, чтобы найти пример существующей реализации критерия, аналогичной той, которую вы хотите создать.