Utilizei o SimpleDateFormat, como sugerido, porém, como preciso retornar uma variável Calendar, não está retornando no formato solicitado.
Calendar cal = new GregorianCalendar();
cal.setTime(rsMensagem.getTimestamp("DATAHORA"));
SimpleDateFormat dtf = new SimpleDateFormat("yyyy-MM-dd hh:mm:SS Z");
cal.setTime(dtf.parse(dtf.format(cal.getTime())));
A história é a seguinte, essa var Calendar que chamei de cal, deve retornar a data no formato 2010-06-21T19:45:00.000-03:00, porém, está retornando 2010-06-21T19:45:00.000Z.
Na realidade, o valor está retornando para um Web Service feito em Axis, então não sei se o problema está aqui.
Não posso modificar o tipo, usando String no lugar de Calendar, pois é especificação do cliente.