你可以在没有数据库设置的情况下运行休眠吗?

时间:2013-09-18 11:55:13

标签: java database hibernate

我目前正在开发一个使用hibernate作为其ORM的应用程序;但是,我的机器上当前没有设置数据库,我想要开始运行一些没有测试的测试。我认为,因为hibernate是基于对象/代码的,所以必须有一种模拟数据库功能的方法。

如果没有办法通过hibernate来实现,那么如何在一般情况下(数据库模拟)实现?显然,它不需要处理大量数据,只需测试功能。

5 个答案:

答案 0 :(得分:6)

只需使用像Derby这样的嵌入式数据库

也许您也可以尝试在Windows上使用ODBC-JDBC桥并连接到Excel或Access文件。

答案 1 :(得分:2)

Hibernate是一个object- 关系映射工具(ORM)。没有对象和关系数据库就无法使用它。排除任何一个毫无意义

有很多开源的免费关系数据库可供选择:

  1. MySQL的
  2. 的PostgreSQL
  3. 超音速
  4. 德比
  5. MariaDB的
  6. SQLite的
  7. 您只能下载并安装一个。

答案 2 :(得分:0)

其他选项正在使用内存数据库,例如H2 / hsqldb

答案 3 :(得分:0)

我假设您已将所有ORM调用隐藏在干净的界面后面 如果你这样做了,你可以简单地编写一个由Map支持的接口的另一个实现来缓存你的对象。

然后,您可以在测试环境中使用它。

但是我必须同意@duffymo,你应该经历“第一次痛苦”并建立一个适当的工作环境。

答案 4 :(得分:0)

我正在使用H2。其主要优点之一是使用模拟更常见数据库行为的方言。例如 - 我正在使用PostgreSQL,我将Hibernate的方言定义为PostgreSQL。我正在将它用于我的集成测试 - 在每个测试中,我创建的数据适合我的测试场景,然后很容易擦除。无需回滚交易或其他任何内容。