我的实体有一个字段
@Column("authorizations")
@Builder.Default
private Map<String, Set<String>> authorizations = new HashMap<>();
当我通过Spring Data存储库查询该对象时,我遇到了异常
CodecNotFoundException:找不到请求的操作的编解码器: [设置<-> java.util.Set]
写入工作正常。我不敢相信不立即可用。
表定义
CREATE TABLE resource_authorization_rules(
resource text,
region text,
authorizations map<text, frozen<set<text>>>,
PRIMARY KEY (resource, region)
);
可能带有类型擦除的内容。如何毫不费力地解决这个问题?
答案 0 :(得分:1)
这是Spring Data Casasndra的局限性。有一个JIRA for improving support of frozen collections。看起来可以与described here这样的自定义行映射器一起解决此问题。
P.S。 DataStax Java驱动程序的对象映射器中有corresponding annotations。