Как правильно извлечь данные из Redis в Java Spring Boot Application - PullRequest
0 голосов
/ 27 июня 2018

У меня проблема с извлечением данных из redis в моем приложении для весенней загрузки Java

Я создал следующие классы

public interface ArticlesRepository extends CrudRepository<Articles, String> { 
}

@RedisHash("Articles")
@JsonIgnoreProperties(ignoreUnknown = true)
public class Articles implements Serializable {
    private static final long serialVersionUID = 1L;

    private String id;
    private long timestamp;
    private ArticlesData articles;
}

@RedisHash("ArticlesData")
@JsonIgnoreProperties(ignoreUnknown = true)
public class ArticlesData implements Serializable {
    private static final long serialVersionUID = 1L;

    private String id;
    private String continuation;
    private ArrayList<ArticleInfo> articles;
}

@RedisHash("ArticleInfo")
@JsonIgnoreProperties(ignoreUnknown = true)
public class ArticleInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    private String id;
    private String title;
    private String linkToArticle;
    private long publishedDate;
}

Кажется, что все работает, как ожидалось, когда я сохраняю экземпляр Статей

Articles articles = new Articles(id, timestamp, articlesData);
articlesRepository.save(articles);

Однако, когда я пытаюсь извлечь этот объект из redis, происходит что-то странное

Articles articles = articlesRepository.findOne(redisArticleId);

Все поля в объекте (id и отметка времени) установлены правильно, за исключением ArticlesData, которая всегда возвращает ноль.

System.out.println(articles.getId());   ==> WAPCO:
System.out.println(articles.getTimestamp());   ==> 1530049920
System.out.println(articles.getArticles());   ==> null

У кого-нибудь есть идеи о том, что я могу делать не так?

...