Resulta que era una cuestión de consultas no comprometidas. Gracias a Brent Worden por la pregunta sobre las transacciones que me llevó a mirar alrededor y notar que había deshabilitado la confirmación automática y no estaba confirmando después de las consultas.
Entonces, las soluciones que me funcionaron:
conn.setAutoCommit(true);
o
statement.executeQuery(query);
conn.commit();
Esto permite eliminar las consultas y evitar datos obsoletos.