【发布时间】:2016-11-30 09:45:22
【问题描述】:
我有一个使用 spring-boot-starter-redis 的 spring-boot 应用程序(1.4RC1,我知道它是 RC,但 Spring Data Redis 1.7.2 不是)。
应用程序使用 Spring Data Repository (CrudRepository),它应该保存一个具有 String 和 Boolean 属性的对象(使用 @RedisHash 注释)和一个自定义类属性,该属性也只有 Strings 和Longs 作为属性。
当我保存一个对象(通过存储库)时,一切都很好,我可以看到数据库中的所有属性,正如我所期望的那样。 当我想从数据库中读取数据时(通过存储库),我只从父对象中获取属性。自定义类属性为空。
我也希望从数据库中加载属性。正如文档所述,您可以编写custom converter,但由于我不需要这样做,所以当我想写入数据时,我也不应该需要编写读取转换器。
我想知道是否需要注释自定义类属性,但我在文档中找不到任何内容。你能指出我正确的方向吗?
类如下:
类示例:
@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;
}
【问题讨论】:
-
向我们展示您的实体类。
-
你看过examples project。嵌入对象
Address在此test 中被正确回读。您是否介意为您的实体添加一个默认构造函数只是为了检查这是否可能是原因,并可能在Jira 中打开一个问题。
标签: spring-boot spring-data spring-data-redis