【发布时间】:2019-07-07 18:01:39
【问题描述】:
使用 jackson,我可以使用 @JsonAnyGetter 和 @JsonAnySetter 将 Map<String, Object> 序列化/反序列化为 json 对象的额外字段。是否有一个 JPA 注释可以通过从成员 Map 获取/设置额外的 db 列值来执行类似的操作?
具体来说,我想使用 jooq 的 .fetchInto(Pojo.class) 来水合一个 java 对象。我可以手动使用.fetch(RecordMapper<Record, Pojo>) 通过手动从记录字段中水合Map 成员来获得我想要的结果,但想知道是否有更自动的方法来执行此操作。 Pojo 代码可能如下所示(使用 lombok 的 @Data 使其简洁):
@Data
public class Pojo {
@Column("field1")
private int field1;
@Column("field2")
private String field2;
@JsonAnyGetter // works for json serialization,
@JsonAnySetter // is there an equivalent for JPA?
private Map<String, Object> extraFields;
}
【问题讨论】:
-
由于 JPA 不会“序列化”/“反序列化”,那么答案是否定的