getTimestamp () faz timezone converstion duas vezes no conector JDBC do MySQL?

Eu tenho uma coluna do tipoDATETIME com um valor de2012-05-07 19:59:12 no banco de dados MySQL. Estou tentando recuperar esse valor do banco de dados, supondo que ele esteja armazenado no fuso horário UTC:

<code>Calendar cal = Calendar.getInstance(new SimpleTimeZone(0, "UTC"));
Date date = resultSet.getTimestamp(1, cal);
System.out.println(date);
</code>

Ele produz (CEST é o meu fuso horário local, que é de 2 horas à frente do UTC):

<code>Mon May 07 23:59:12 CEST 2012
</code>

O valor esperado é:

<code>Mon May 07 21:59:12 CEST 2012
</code>

Estou usando esses três parâmetros na URL do JDBC (Europe/Berlin é o mesmo queCEST):

<code>..&useGmtMillisForDatetimes=true&useTimezone=true&serverTimezone=Europe/Berlin
</code>

É meu defeito ou algo deve ser configurado adicionalmente no driver JDBC? estou a usarmysql:mysql-connector-java:5.1.20.

questionAnswers(1)

yourAnswerToTheQuestion