2012-11-27 76 views
0

我們正在嘗試使用sybase函數「power」爲其中一個DB列進行數學計算。休眠sybase db電源功能

的休眠正在發電功能

POW(?, xyzo0_.AmtScale)

而Sybase支持功率函數作爲語法

功率(數字-expression- 1,numeric-expression-2)

我們已經嘗試修改hibernate.dialect。試過

org.hibernate.dialect.SybaseASE15Dialect org.hibernate.dialect.Sybase11Dialect org.hibernate.dialect.SybaseAnywhereDialect

但所有方言產生的動力功能

pow(?,xyzo0_.AmtScale)。

這是休眠問題還是我們錯過了什麼?

回答

0

修復了這個問題。我們通過擴展Sybase Dialect類來添加自定義實現。

在這個類的構造函數中,我們調用了registerFunction來指定替代冪函數。

公共類XyzDialect延伸Sybase11Dialect {

//constructor 
XyzDialect() { 

    registerFunction("pow", 
    new StandardSQLFunction("power", FloatType.INSTANCE)); 
} 

}