Java 将日期函数与HSQL一起使用时出错

Java 将日期函数与HSQL一起使用时出错,java,db2,hsqldb,ibatis,Java,Db2,Hsqldb,Ibatis,我有一个使用SQL访问DB2数据库的项目。在代码上运行junit测试用例时,我使用aHSQL数据库。java项目通过iBATIS使用SQL 如果HSQL遇到DATE函数,例如DATE(STATUS\u CREATE\t)解决方案有什么想法吗 ---原因:java.sql.SQLException:用户缺少权限或找不到对象:日期在 org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLState

我有一个使用SQL访问DB2数据库的项目。在代码上运行junit测试用例时,我使用aHSQL数据库。java项目通过iBATIS使用SQL

如果HSQL遇到
DATE
函数,例如
DATE(STATUS\u CREATE\t)
解决方案有什么想法吗


---原因:java.sql.SQLException:用户缺少权限或找不到对象:日期在 org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:98) 在 org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) 在 org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) 在 org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) 在 org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:203) 在 org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:268)


谢谢。

此函数特定于DB2,HSQLDB不直接支持

您可以将测试的功能定义为:

 create function date(ts timestamp) returns date return cast(ts as date);

您是否尝试过HSQL设置:

SET DATABASE SQL SYNTAX DB2 TRUE

如(表12.27)所述。

错误消息说明了什么?---原因:java.sql.SQLException:用户缺乏权限或找不到对象:org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate上的日期(SQLStateSQLExceptionTranslator.java:98)感谢您的回复。在HSQL中我在哪里定义这个函数?它是一个SQL语句。你执行一次。DB2允许类似地定义函数,我相信我最初尝试过这种方法,但没有成功。我实施了fredt提出的解决方案,它成功了。非常感谢。