繁体   English   中英

没有数据库的休眠/JPA

[英]Hibernate/JPA without DB

想知道是否有可能完全摆脱 SQL 依赖。 假设我正在编写与 DB 通信的测试,这引入了管理 DB 模式的需要,这非常麻烦,因为内存 DB 通常与生产类型的 DB 不匹配。

是否可以使用 Hibernate/JPA 进行测试并且没有下划线 DB Schema?

到目前为止,我知道两种选择,我想在这里扩大我的知识,如果还有其他可能性,请分享。

  1. 模拟冬眠
  2. 使用伪造的JDBC 驱动程序

或者我应该只专注于模拟 DAO 层而不是在这上面浪费时间? 健全性检查 JPA 实体与 DB 是完全不同的故事。

您害怕内存数据库和生产数据库之间的区别吗? 但是您不担心您的两个“模拟”选项和生产之间的巨大差异?

从我的角度来看,任何用于测试的生产数据库的替换都会以某种方式产生误报。 我猜想内存数据库最能模拟真实环境。 特别是如果您使用H2 之类的尝试支持不同 SQL 方言的东西。

只要您只编写小型和封装的单元测试,DAO 层的模拟也可能有所帮助。 但是,一旦您编写集成测试,您就需要以某种方式提供一个数据库。

不 - 如果没有数据库模式或连接,Hibernate 就无法工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM