Mybatis查询返回不正确的结果。可能的缓存问题?

时间:2012-08-03 13:51:42

标签: java mybatis

我有一个JUnit测试,其中包括使用Mybatis。在测试开始时,我正在检索表中的记录数。

在测试结束时,我希望表中还有一条记录,并有一个断言来验证这种情况。但是我发现第二个查询返回的记录数与第一个查询完全相同。

我知道表中肯定插入了新记录。

我认为这可能与缓存有关,所以我尝试刷新与会话相关的所有缓存。我也尝试使用setCacheEnabled(false),但结果仍然相同。

这是我的代码片段 -

@Test
public void config_0_9() {
    session.getConfiguration().setCacheEnabled(false);
    cfgMapper = session.getMapper(CfgMapper.class);
    int oldRecords = cfgMapper.countByExample(null);

    messageReprocessor.processSuspendedMessages();
    session.commit();

    int newRecords = cfgMapper.countByExample(null);
    assertTrue(newRecords == oldRecords + 1);
}

0 个答案:

没有答案