Você não deve usar um Calendário para acessar datas do banco de dados, exatamente por esse motivo. Você deve usar
java.util.Date
assim:@Temporal(TemporalType.TIMESTAMP)
@Column(name="activationDate")
public Date getActivationDate() {
return this.activationDate;
}
java.util.Date
aponta para um momento no tempo, independentemente de quaisquer fusos horários. O calendário pode ser usado para formatar uma data para um determinado fuso horário ou localidade.