【发布时间】:2010-08-12 21:31:55
【问题描述】:
我正在开发一个 Java 应用程序,该应用程序将使用由 HSQLDB 数据源 (DBCP BasicDataSource) 支持的一些 Hibernate(由 JPA 注释)类。我正在尝试手动调整 HSQLDB“.script”文件(我一生都无法通过网络搜索/阅读文档找到权威名称;它只是顺便提及)以快速添加一些新的 -用于测试的内存表。问题是,当 HSQLDB 运行此脚本时发生的任何错误似乎都不会在任何地方报告或记录。例如,如果我在该 .script 中有一个 INSERT 语句(设置初始数据集的一种非常常见的使用场景),并且它存在问题(例如不正确的日期格式、不正确的列数等),则没有有报道过,也不例外。稍后我才注意到,当我在测试用例中构造的 HQL 查询由于 NULL 结果而引发异常时,程序没有预料到,因为此时数据集应该被正确初始化。
我什至发现 INSERT 语句存在问题的唯一原因是通过在 HSQLDB 数据源上的原始 SQLConnection 上执行它们,而不是在 .script 文件中执行它们,并观察引发的 SQLExceptions点。
一般来说,日志似乎正在工作,并且 HSQLDB 在启动期间非常频繁地将大量其他所有阈值的消息记录到标准输出。所以我很困惑为什么那些不包括在某些时候必须抛出的明显 SQLExceptions。
有什么想法可以尝试吗?也许我缺少一些配置?我尝试通过 HSQLDB 文档搜索所有内容均无济于事,但这并不一定意味着答案不存在。如果它很重要,我试图让它工作的使用场景是在 JUnit 测试用例中初始化的 Spring 应用程序上下文(通过 FileSystemXmlApplicationContext 对象)。感谢您的帮助。
【问题讨论】:
标签: java logging jpa hql hsqldb