2012-11-09 89 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]这样的第三方库来计算两个日期之间的天数。我不明白为什么我们应该为此使用数据库。