2012-11-09 90 views

回答

2

其中一個方式,你可以通過擴展的MySQL方言實現這一目標,並使用registerFunction(String, SQLFunction)

public class CustomMySQL5InnoDBDialect extends MySQL5InnoDBDialect { 

    public CustomMySQL5InnoDBDialect() { 
    super(); 
    registerFunction("datediff", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "datediff(?1, ?2)")); 
} 

} 
+0

如何使用上面的代碼 –

+0

創建上面級,並與CustomMySQL5InnoDBDialect更新休眠configuaration而不是MySQL5InnoDBDialect註冊它 –

0

我不認爲你可以得到這個特定的MySQL函數爲JPA/HQL(如果你願意,你仍然可以使用一些本地查詢)。更好的方法是使用像[Joda-time][1]這樣的第三方庫來計算兩個日期之間的天數。我不明白爲什麼我們應該爲此使用數據庫。