這裏是我在MySQL查詢休眠:轉換MySQL查詢DATEDIF到HQL查詢
SELECT DATEDIFF('2008-11-30','2008-11-29') AS DiffDate
如何轉換爲Hibernate查詢語言
這裏是我在MySQL查詢休眠:轉換MySQL查詢DATEDIF到HQL查詢
SELECT DATEDIFF('2008-11-30','2008-11-29') AS DiffDate
如何轉換爲Hibernate查詢語言
其中一個方式,你可以通過擴展的MySQL方言實現這一目標,並使用registerFunction(String, SQLFunction)
public class CustomMySQL5InnoDBDialect extends MySQL5InnoDBDialect {
public CustomMySQL5InnoDBDialect() {
super();
registerFunction("datediff", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "datediff(?1, ?2)"));
}
}
我不認爲你可以得到這個特定的MySQL函數爲JPA/HQL(如果你願意,你仍然可以使用一些本地查詢)。更好的方法是使用像[Joda-time][1]
這樣的第三方庫來計算兩個日期之間的天數。我不明白爲什麼我們應該爲此使用數據庫。
如何使用上面的代碼 –
創建上面級,並與CustomMySQL5InnoDBDialect更新休眠configuaration而不是MySQL5InnoDBDialect註冊它 –