【问题标题】:hibernate sybase db power function休眠 sybase db 电源功能
【发布时间】:2012-11-14 23:44:22
【问题描述】:

我们正在尝试使用 sybase 函数“power”对其中一个 DB 列进行数学计算。

休眠生成幂函数为

pow(?, xyzo0_.AmtScale)

而 sybase 支持作为语法的 power 函数

POWER(数字表达式-1,数字表达式-2)

我们已经尝试修改 hibernate.dialect。试过了

org.hibernate.dialect.SybaseASE15Dialect org.hibernate.dialect.Sybase11方言 org.hibernate.dialect.SybaseAnywhereDialect

但所有方言都生成幂函数为

pow(?, xyzo0_.AmtScale).

这是休眠问题还是我们遗漏了什么?

【问题讨论】:

    标签: hibernate sybase


    【解决方案1】:

    解决了这个问题。我们通过扩展 Sybase Dialect 类添加了自定义实现。

    在这个类的构造函数中,我们调用了 registerFunction 来指定幂函数的替代。

    公共类 XyzDialect 扩展 Sybase11Dialect {

    //constructor   
    XyzDialect() {
    
      registerFunction("pow", 
        new StandardSQLFunction("power",  FloatType.INSTANCE));
    }
    

    }

    【讨论】:

      猜你喜欢
      • 2018-09-08
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-18
      • 2017-01-17
      • 1970-01-01
      相关资源
      最近更新 更多