java - Oracle 到 H2/hsqldb 等适配器

标签 java sql oracle maven h2

我不可能是唯一遇到这个问题的人,所以我正在寻找建议。

我们在 Oracle 上运行我们的应用程序,但我们的集成测试使用 h2 进行快速内存中测试,数据库是在测试开始时从 DDL 脚本构建的。

问题是一些 DDL 命令的使用/语法在 Oracle 和 h2/hsqldb 之间不同。例如,今天我花了一些时间才意识到“grant select on ...”适用于 Oracle 中的序列,但仅适用于 h2 中的表。

在之前的项目中,我们有一个适配器来删除/翻译此类错误命令,这意味着我们的测试数据库运行的代码与我们为生产实现的代码完全不同。虽然一切都经过了非常彻底的验收测试,但这意味着某些问题可能要到开发周期的很晚才会被发现。

在我最近的项目中,我感觉到我正在走同样的路——所以其他人肯定也走过了这条路。

有什么建议吗?我们正在使用 java/maven,所以欢迎适当的解决方案!

最佳答案

据我所知,没有这样的适配器。

无论如何,我会说你不会用这样的适配器实现你的目标。其一,Oracle 的特性集在任何其他解决方案中都不容易找到(并不是说这一定是 Oracle 的优势)。

关于java - Oracle 到 H2/hsqldb 等适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12095082/

相关文章:

java - 将对象列表中的双列表对象转换为字符串

java - 如何从数据库 SQLite Java 中检索多个数据(行)

java - "java"中找到的 "jdk1.8.0_121/bin"文件与 "jdk1.8.0_121/jre/bin"中找到的文件有什么区别?

MySQL 将 Varchar 转换为 DateTime

c# - 如何以最快的方式处理 400K 数据的 foreach/group by?

c# - 针对特定场景的缓存架构建议

java - 在多时区服务器上使用 JDBC 时,我应该选择哪种 Oracle 日期数据类型?

java - 来自动态 SWT 按钮的 ActionEvent

sql - 对 BigQuery 中多列的数字求和

java - 更新 ResultSet 中的行会生成错误 : 'Value conflicts occurs'