Acontece que era uma questão de consultas não confirmadas. Obrigado a Brent Worden pela pergunta sobre transações que me levou a olhar em volta e perceber que eu havia desabilitado o auto commit e não estava fazendo commit após as consultas.
Então, as soluções que funcionaram para mim:
conn.setAutoCommit(true);
ou
statement.executeQuery(query);
conn.commit();
Isso permite que as consultas sejam liberadas e os dados obsoletos sejam evitados.