我有DAO代码,其中包含一些具有Oracle特定语法的JDBC,例如:
select count(*) cnt from DUAL
where exists (select null from " + TABLE_NAME + "
where LOCATION = '" + location + "')")
我正在使用内存中的HSQLDB数据库在此DAO方法上运行JUnit测试。显然DUAL表是Oracle特定的,并且在运行测试时导致错误:
org.springframework.jdbc.BadSqlGrammarException: StatementCallback;
bad SQL grammar [select count(*) cnt from DUAL where exists
(select null from ESRL_OBSERVATIONS where LOCATION = '/path1')];
nested exception is java.sql.SQLException: user lacks privilege or object
not found: DUAL
有人可以建议我做些什么来解决这个问题吗?我正在使用Hibernate创建架构-
也许我可以在Hibernate属性中进行设置以启用对Oracle样式语法的支持?
我正在看一些旧代码,在运行一个单元测试时遇到了问题。 代码为: 但是,当试图准备语句时,它会抛出错误 用户缺少权限或找不到对象:CUSTOMERS_SEQ。下一个瓦尔。 我正在阅读错误本身,似乎找不到任何东西。奇怪的是,当我在本地运行查询选择CUSTOMERS_SEQ.NEXTVAL时,它工作正常。 任何和所有的帮助将不胜感激。
我在hsqldb测试中遇到了一点问题。 我在import.sql中添加了我需要的所有内容,它工作得很好。 我创建了一个类: 但是我得到了这个错误:
我正在使用和。每当我尝试执行insert语句时,我都会得到错误。 表clears存在于中,但是我遇到了这个错误。 offersdao.java
问题内容: 我正在尝试实施 JUnit 测试以检查DAO的功能。(DAO将创建/读取基本的对象/表关系)。 我遇到的麻烦是DAO的持久性(对于非测试代码)是通过使用 Spring / Hibernate 的内部解决方案完成的,该解决方案消除了我发现的大多数示例所包含的常用模板。 因此,我在理解如何设置 JUnit 测试以实现DAO来创建/读取(只是非常基本的功能)内存 HSQLDB方面 遇到了一些
有谁能帮我修一下吗?