2

bitwiseAnd と呼ばれる休止状態でユーザー定義関数を作成し、次のように方言コンストラクターに登録しました。

public SQLServerDialect() {
    super();
    registerFunction("bitwiseAnd", new SqlBitwiseFunction("bitwiseAnd", StandardBasicTypes.INTEGER));
}

Oracle についても同じことを行う必要がありました。これは、Oracle もサポートしているためです。ビット単位の操作に関しては構文が異なるためです。これを@DiscriminatorFormulaで使用したいと思っていましたが、登録された関数が表示されないようです。これは可能ですか、それとも識別子式はネイティブ SQL のみを使用しますか?

ありがとう、R.

4

1 に答える 1

3

DiscriminatorFormula の javadoc は、以下を含む Formula の javadoc にリンクしています。

式は有効な SQL フラグメントである必要があります。

そうです、数式は有効な SQL である必要があり、HQL ではありません。

于 2012-05-01T13:09:27.110 に答える