25.5. データベースの関数

警告

これは、Hibernate においては新しい分野ですが、Hibernate で体験できる全般と比べるとそこまで成熟していません。
ユーザーは、SQL 関数を参照するには多くの方法があります。しかし、すべてのデータベースが同様の関数に対応しているわけではありません。 Hibernate は、論理的な 関数名をデリゲート(委譲)へとマッピングする手段を用意しています。 このデリゲートは、おそらく全く違った物理的な関数呼出しを使うなどして、特定の関数のレンダリング方法を識別しています。

重要

技術的に、この関数登録はorg.hibernate.dialect.function.SQLFunctionRegistry クラスを用いて処理します。org.hibernate.dialect.function.SQLFunctionRegistry クラスはカスタムの方言を提示することなくカスタム関数定義をユーザーが提供できるようになっています。このような特定の動作は、現時点では完全でありません。
ユーザーは org.hibernate.cfg.Configuration で関数をプログラムによって登録できるため、これで実装されたかたちになり、これらの関数は HQL で認識されます。