前言
目前处理一些特殊的应用场景会使用到NoSQL、Spark、Redis等特殊的存储类开源应用外,大多数应用场景还是会使用RDBMS做持久化工具,所以我还是决定做一些ORM的测试,一来回应网络上传播的一些不严谨的技术态度(说Hibernate很渣,说只有MyBatis才是救世主等等);再来也为我的工作做一些理论、实践的铺垫,让我的技术选择变得更有说服力。
测试环境
依托上一篇我翻译的文章《JPA 实现比较:Hibernate、Toplink Essentials、OpenJPA、Eclipselink》的代码和测试环境,做了一些小调整以适应我自己的场景。
1. 修改了一下对象创建,将其直接通过创建而不是克隆的方式,通过计算随机数的方式填充对象属性。
2. 内存对于我来说意义不大,所以抛弃了内存监控的过程,只是记录下读写能力值,简化测试。
3. 消除的开始程序的等待(链接JConsole的时间),直接开始测试用例。
4. 将测试时间变为10分钟,减少我个人的等待。。。可能测试数据会变少。
5. 将查询线程开始间隔做了调整,改为5秒,着重测试数据的读写随机性。
6. 之前文章提到的各个框架版本有一些老旧,对于最新的版本来说并没有说服力,所以我将