hibernate - Hibernate 中的判别器公式中可以使用用户定义的函数吗

标签 hibernate user-defined-functions

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

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

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

谢谢, R。

最佳答案

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

The formula has to be a valid SQL fragment.

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

关于hibernate - Hibernate 中的判别器公式中可以使用用户定义的函数吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10397880/

相关文章:

java - Hibernate标准查询具有相同字段名称的子类

java - hibernate 中单向 @OneToMany 映射中的子实体计数

hadoop - hive unix_timestamp()UDF提供多个值

java - CriteriaBuilder 不粘贴函数参数

java - 如何修复Hibernate的配置文件?

hibernate - 如何使用 JPA Criteria Api 使用文字参数调用 db2 数据库函数?

Postgresql - 坚持构建 plpgsql 函数

sql-server - 确定性标量函数获取日期的一年中的第几周

sql-server - T-SQL 用户定义函数或类似函数,用于从值列表计算最大值(日期)

mysql - 如何调试mysql用户自定义函数?