Spring boot SpringDataRedis存储库支持不会读回嵌入的复杂对象

Spring boot SpringDataRedis存储库支持不会读回嵌入的复杂对象,spring-boot,spring-data,spring-data-redis,Spring Boot,Spring Data,Spring Data Redis,我有一个SpringBoot应用程序(1.4RC1,我知道它是RC,但SpringDataRedis1.7.2不是),我使用的是SpringBootStarterRedis 该应用程序使用Spring数据存储库(Crudepository),该存储库应该保存一个对象(使用@RedisHash注释),该对象具有字符串和布尔属性,以及一个自定义类属性,该类属性也只有字符串和长字符串作为属性 当我保存一个对象(通过存储库)时,一切都很顺利,我可以像预期的那样看到数据库中的所有属性。 当我想从数据库(通

我有一个SpringBoot应用程序(1.4RC1,我知道它是RC,但SpringDataRedis1.7.2不是),我使用的是SpringBootStarterRedis

该应用程序使用Spring数据存储库(
Crudepository
),该存储库应该保存一个对象(使用
@RedisHash
注释),该对象具有
字符串和
布尔属性,以及一个自定义类属性,该类属性也只有
字符串和
长字符串作为属性

当我保存一个对象(通过存储库)时,一切都很顺利,我可以像预期的那样看到数据库中的所有属性。 当我想从数据库(通过存储库)读取数据时,我只从父对象获取属性。自定义类属性为null

我还希望从数据库中加载属性。正如文档中所述,您可以编写一个,但是因为我不需要这样做,所以当我想要编写数据时,我也不需要编写一个读取转换器

我想知道是否需要注释自定义类属性,但在文档中找不到任何内容。你能给我指一下正确的方向吗

课程如下:

类别样本:

@Data
@EqualsAndHashCode(exclude = {"isActive", "sampleCreated", "sampleConfiguration"})
@RedisHash
public class Sample {

    @Id
    private String sampleIdentifier;

    private Boolean isActive;

    private Date sampleCreated;

    private SampleConfiguration sampleConfiguration;

    public Sample(String sampleIdentifier, SampleConfiguration sampleConfiguration){
        this.sampleIdentifier = sampleIdentifier;
        this.sampleConfiguration = sampleConfiguration;
    }

}
类采样配置:

@Data
public class SampleConfiguration {

    private String surveyURL;

    private Long blockingTime;

    private String invitationTitle;

    private String invitationText;

    private String participateButtonText;

    private String doNotParticipateButtonText;

    private String optOutButtonText;

    private Long frequencyCappingThreshold;

    private Long optOutBlockingTime;

}

我按照Christoph Strobl的建议,将
@noargsconstuctor
添加到我的
示例
类中。然后存储库正确读取
SampleConfiguration
。谢谢你,克里斯托夫

给我们看一下你的实体类。你看过了吗。嵌入对象
地址
在此字段中被正确读回。您是否介意在实体中添加一个默认构造函数,只是为了检查这是否是原因,并可能在中打开一个问题。我创建它是为了解决这个问题。