我正在使用SimpleJdbcDaoSupport对象来访问数据库资源。我有一个经常对数据库执行的查询,以查找具有特定键的记录。由于某种原因,在多次执行相同的查询后,即使数据库中存在记录,我也开始得到一个空的结果。
任何可能导致此行为的想法?
daoSupport.getJdbcTemplate().query(this.getConsumerTokenQueryStatement(),params, this.rowMapper);
public static class TokenServicesRowMapper implements RowMapper {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
DefaultLobHandler lobHandler = new DefaultLobHandler();
return lobHandler.getBlobAsBytes(rs, 1);
}
}
答案 0 :(得分:0)
如果这与您的代码无关,一个原因可能是另一个事务正在对您搜索的行执行某些操作(如更新),并且由于事务之间存在隔离而无法查看您的行。一个事务可以更改但不提交您的行,而另一个事务正在搜索它,但因为它只能看到提交的行,所以它看不到您的行。