H2では組み込みの関数の他に、ユーザ定義関数/ストアドプロシージャを作る事ができます。Triggerと同様にJavaで実装します。 実装の仕方は大きく2通りあります。 Triggerの時にやったようなJavaで実装してコンパイルして、H2のクラスパスにそのクラスを入れて、そのクラス名を登録する、というパターンが1つ(Referencing a Compiled Method)。 もう1つは、Javaのソースコードで宣言する、というやり方(Declaring Functions as Source Code) とりあえず、非常にシンプルなパターンで両方試してみます。 まず、クラスを作ってコンパイルします。Triggerの時とは異なり、特定のインターフェースを実装する必要はありません。その代わり、呼ばれるメソッドはスタティックなメソッドである必要があります。 以下のようなクラスを作ってみました