Nie powinieneś wywoływać executeQuery(String)
na PreparedStatement
, powinieneś wywołać executeQuery()
zamiast. Jest to wyraźnie zabronione przez interfejs API JDBC, ale tylko przez przypadek (z powodu błędu składni) działa źle z MySQL Connector/J.
Pamiętaj, że Twoje aktualne zapytanie jest odpowiednikiem:
select * from matrix where metric_name = ?
Nie widzę powodu, dla którego miałbyś używać IN
tutaj.