Прямая ссылка на себя, приводящая к исключению цикла

У меня класс как то так

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;
  }

}

И класс, который расширяет класс выше

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();
  }

}

Теперь у меня есть объект типа DailyActivity, и когда я пытаюсь преобразовать его в строку json, я получаю следующее исключение:

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

Я искал решение на Google, но решение, которое я получаю, просит установить jsonIgnore к предыдущему значению, которое я не собираюсь делать. Кто-нибудь сталкивался с такой же проблемой? Спасибо

РЕДАКТИРОВАТЬ Я знаю, что в классе есть цикл, и я спрашиваю, как десериализовать класс, который имеет собственную ссылку?

Ответы на вопрос(5)

Ваш ответ на вопрос