java Hibernate:将mysql查询Datedif转换为HQL查询 2 月 Questions & Answers 1119 这是我在mysql中的查询 SELECT DATEDIFF('2008-11-30','2008-11-29') AS DiffDate 如何转换为Hibernate查询语言
# 1 楼答案 其中一种方法是扩展mysql方言并使用^{}注册它 public class CustomMySQL5InnoDBDialect extends MySQL5InnoDBDialect { public CustomMySQL5InnoDBDialect () { super(); registerFunction( "datediff", new SQLFunctionTemplate( StandardBasicTypes.INTEGER, "datediff(?1, ?2)" ) ); } }
# 2 楼答案 我不认为您可以将这个特定的mysql函数引入JPA/HQL(如果需要,您仍然可以使用一些本机查询)。更好的方法是使用像[Joda-time][1]这样的第三方库来计算两个日期之间的天数。我真的不明白我们为什么要用数据库来做这件事
# 1 楼答案
其中一种方法是扩展mysql方言并使用^{} 注册它
# 2 楼答案
我不认为您可以将这个特定的mysql函数引入JPA/HQL(如果需要,您仍然可以使用一些本机查询)。更好的方法是使用像
[Joda-time][1]
这样的第三方库来计算两个日期之间的天数。我真的不明白我们为什么要用数据库来做这件事