我会说,最简单的解决方案是创建自己的自定义HSQLDB方言,以扩展现有的HSQLDB方言。然后,在构造函数中,注册一个函数以处理datediff(date1,date2),将其转换为datediff(interval,date1,date2),前提是该间隔是一个静态值。像这样:
registerFunction( "datediff", new SQLFunctionTemplate( StandardBasicTypes.INTEGER, "datediff(interval, ?1, ?2)" ) );



