【发布时间】:2012-08-22 00:41:40
【问题描述】:
我正在尝试为使用 Spring 和 JPA(使用 Hibernate)的应用程序创建一些测试。
我想使用内存数据库,这样我就可以检查一切是否正常,而不必依赖主开发服务器(这是一个旧的 Sybase 安装),并且还可以让我更好地隔离测试功能.
问题是,有很多表使用@Table("dbname..dbo.someviewname") 映射以访问其他数据库的视图。
因此,我尝试将 HSQLDB 与 DBunit 一起使用,但可以理解的是,HSQLDB 不允许创建名称中带有点的表。
我该如何进行测试?
我是否应该放弃内存中的东西并使用主 Sybase 开发服务器进行测试(冒着毁掉其他开发人员的风险:P)?
【问题讨论】:
-
在类中嵌入模式信息(表名/列名)通常是个坏主意(除非在应用程序的整个生命周期中只使用一个数据存储)。最好将它放在 orm.xml 中,并为您可能将应用程序部署到的每个数据存储区设置一个。
-
好点!这是一个有很多表的遗留应用程序,让我们看看我能做些什么......
标签: spring hibernate jpa hsqldb dbunit