2

我正在使用 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); 
   } 
}
4

1 回答 1

1

如果这与您的代码无关,一个原因可能是另一个事务正在对您搜索的行执行某些操作(如更新),并且由于在事务之间进行隔离,您看不到您的行。一个事务可以更改但尚未提交您的行,而同时另一个事务正在搜索它,但由于它只能看到已提交的行,因此看不到您的行。

于 2011-08-17T07:25:31.657 回答