我目前正在开发一个使用 hibernate 作为其 ORM 的应用程序;但是,目前我的机器上没有设置数据库,我想在没有数据库的情况下开始运行一些测试。我认为由于休眠是基于对象/代码的,因此必须有一种方法来模拟数据库功能。
如果没有办法通过休眠来做到这一点,那么在一般情况下(模拟数据库)如何实现?显然,它不需要处理大量数据,只需测试功能即可。
只需使用像 Derby 这样的嵌入式数据库
也许您也可以尝试在 Windows 上使用 ODBC-JDBC 桥接并连接到 Excel 或 Access 文件。
Hibernate 是一个对象关系映射工具 (ORM)。没有对象和关系数据库就无法使用它。排除其中任何一个都没有任何意义。
有很多开源、免费的关系数据库可供选择:
您只受下载和安装能力的限制。
我假设您已将所有 ORM 调用隐藏在一个干净的界面后面。
如果你这样做了,你可以简单地编写该接口的另一个实现,该实现由Map
缓存你的对象的 a 支持。
然后,您可以在您的测试环境中使用它。
但我必须同意@duffymo,你应该经历“第一次痛苦”并建立一个适当的工作环境。
我正在使用H2。它的主要优点之一是使用方言来模拟更常见的 DB 的行为。例如 - 我正在使用PostgreSQL
并且我定义了Hibernate
to be的方言PostgreSQL
。我将它用于我的集成测试 - 在每个测试中,我都会创建适合我的测试场景的数据,然后很容易将其删除。无需回滚事务或任何东西。