Vadim
Как надо было делать?
если идет проблема десериализации со сдвигом, значит ты пытаешься распарсить формат с зоной в формат без зоны или наоборот.
насчет базы - в jdbctemplate наверняка есть конвертеры, просто пишешь нужный с сериализацией в тот формат, который ожидает база. там в любом случае улетает дата в виде строки, просто sql.Date форматируется в него автоматом