2

我在 hibernate 中创建了一个名为 bitwiseAnd 的用户定义函数,并将其注册到方言构造函数中,如下所示:

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

我需要为 Oracle 做同样的事情,因为我们也支持它,因为它们在按位运算方面有不同的语法。我希望在@DiscriminatorFormula 中使用它,但它似乎没有看到注册的函数。这是可能的,还是判别器公式只使用本机 SQL?

谢谢,R。

4

1 回答 1

3

DiscriminatorFormula 的 javadoc 链接到 Formula 的 javadoc,其中包含以下内容:

公式必须是有效的 SQL 片段。

所以是的,公式必须是有效的 SQL,而不是 HQL。

于 2012-05-01T13:09:27.110 回答