java Hibernate方言+datediff函数
我有一个问题,mysql中datediff的语法与hsqldb中的不同:
mysql: datediff(date1,date2)
hsqldb: datediff(interval,date1,date2)
hibernate中的方言通常可以解决这些问题,但是我似乎无法找到一种方法来为hibernate创建datediff限制。这是一个真正的麻烦,因为它阻止我使用内存中的hsql数据库进行单元测试,因为我必须在sql语句中对datediff的格式进行“硬编码”
如果有人对此事有意见,我们将不胜感激
# 1 楼答案
我想说,最简单的解决方案是创建自己的定制HSQLDB方言,扩展现有的HSQLDB方言。然后,在构造函数中注册一个函数来处理要转换为datediff(interval,date1,date2)的datediff(date1,date2),前提是interval是一个静态值。比如: