1

我正在使用 Spring Jdbc 3.0.5 RELEASE,我们正在根据客户的要求使用 DB2 数据库。我们希望针对 HSQL DB 运行我们的测试,因为我们不想在测试中干扰 DB2 主键(通过创建序列来实现)。

我在 ApplicationContext.xml 中使用了与测试相关的“jdbc:embedded-database”标签来创建所需的表并为测试插入虚拟数据(成功运行)。

但现在很明显,我们在 DAO 层中使用 DB2 Dialect 编写的查询语法面临问题。

克服这个问题的最佳解决方案是什么?

是否有任何“休眠标准”之类的 API 支持 Spring jdbc 以使我们与连接相关的查询(在针对 HSQL 运行时更痛苦)在任何数据库上运行

提前致谢

4

1 回答 1

0

JPA 是一个很好的解决方案,因为它为您提供了数据库操作的标准接口,允许您相当自由地交换引擎实现(Hibernate、Toplink 等)。

如果您需要,那么您可以随时混合和匹配 JPA 和 JDBC,以应对 JPA 不能为您提供足够灵活性的情况。

您应该会发现,在设置持久性上下文时,指定底层数据库的方言归结为配置选择。这应该消除 JPQL 中各种数据库之间的一些差异。

与以往一样,避免使用特定于供应商的扩展以获得最大的可移植性。

于 2012-08-31T18:13:54.157 回答