我们正在尝试使用sybase函数“power”来对其中一个DB列进行数学计算。
hibernate正在生成电源功能
pow(?,xyzo0_.AmtScale)
而sybase支持幂函数作为语法
POWER(numeric-expression-1,numeric-expression-2)
我们尝试修改hibernate.dialect。试过了
org.hibernate.dialect.SybaseASE15Dialect org.hibernate.dialect.Sybase11Dialect org.hibernate.dialect.SybaseAnywhereDialect
但是所有方言都会生成幂函数
pow(?,xyzo0_.AmtScale)。
这是休眠问题还是我们遗漏了什么?
答案 0 :(得分:0)
修正了此问题。我们通过扩展Sybase Dialect类添加了自定义实现。
在这个类构造函数中,我们调用registerFunction来指定power函数的替代。
公共类XyzDialect扩展了Sybase11Dialect {
//constructor XyzDialect() { registerFunction("pow", new StandardSQLFunction("power", FloatType.INSTANCE)); }
}