spring+hibernate+junit进行集成测试时,假设测试一个更新的功能,流程如下:
addData()// 准备数据
updateData();// 具体的测试功能
findData;// 查询更新后的数据进行验证。
这里,由于使用spring的事务控制(避免测试完后还得写清除数据的代码),而hibernate在更新时,不会立马发送更新请求到数据库,而是在commit事务或者手动flush时,这就导致如果第三步“findData”查询时,如果没有用到hibernate的session缓存,就会导致查询出来的是脏数据,请问大家在项目过程中有没有遇到这种问题,如果有,是如何解决的?