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