Você não deve chamar
executeQuery(String)
em um PreparedStatement
, você deve chamar executeQuery()
em vez de. Isso não é permitido explicitamente pela API JDBC, mas só dá errado por acidente (devido ao erro de sintaxe) com o MySQL Connector/J. Observe que sua consulta atual é equivalente a:
select * from matrix where metric_name = ?
Não vejo um motivo para você usar
IN
aqui.