Auto-referencia directa que conduce a la excepción del ciclo

Tengo clase algo como esto

public abstract class ElasticSearchValue<T> {

  private Long txId;
  private Long currentTxId;
  private T previous;

  public Long getTxId() {
    return txId;
  }

  public void setTxId(Long txId) {
    this.txId = txId;
  }

  public Long getCurrentTxId() {
    return currentTxId;
  }

  public void setCurrentTxId(Long currentTxId) {
    this.currentTxId = currentTxId;
  }

  public Object getPrevious() {
    return previous;
  }

  public void setPrevious(T previous) {
    this.previous = previous;
  }

}

Y una clase que extiende la clase anterior.

public class DailyActivity extends ElasticSearchValue<DailyActivity> {

  Long agentId;
  Date date;
  Long success;

  public Long getAgentId() {
    return agentId;
  }

  public void setAgentId(Long agentId) {
    this.agentId = agentId;
  }

  public Date getDate() {
    return date;
  }

  public void setDate(Date date) {
    this.date = date;
  }

  public Long getSuccess() {
    return success;
  }

  public void setSuccess(Long success) {
    this.success = success;
  }

  @Override
  public String toString() {
    return agentId + "_" + date.toString();
  }

}

Ahora, tengo un objeto de tipo DailyActivity y cuando intento convertirlo en cadena json obtengo la siguiente excepción:

Caused by: com.fasterxml.jackson.databind.JsonMappingException: Direct self-reference leading to cycle (through reference chain: com.pr.analysis.DailyActivity["previous"])

He buscado una solución en google, pero la solución que recibo me pide poner a jsonIgnore en el valor anterior, que no es lo que intento hacer. ¿Alguien ha enfrentado el mismo problema? Gracias

EDITAR Sé que hay un ciclo en la clase y estoy preguntando cómo deserializar la clase que tiene una referencia propia.

Respuestas a la pregunta(5)

Su respuesta a la pregunta