使用杰克逊,我可以使用@JsonAnyGetter
和@JsonAnySetter
将Map<String, Object>
序列化/反序列化为json对象的额外字段。是否有一个JPA批注将通过从成员Map
中获取/设置额外的db列值来做类似的事情?
具体来说,我想使用jooq的.fetchInto(Pojo.class)
来水化Java对象。我可以手动使用.fetch(RecordMapper<Record, Pojo>)
通过从Record字段中手动填充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;
}
答案 0 :(得分:0)
您可以在jOOQ配置中注册RecordMapperProvider
,以覆盖各种方法(包括fetchInto(Class)
)如何应用映射:
https://www.jooq.org/doc/3.11/manual/sql-execution/fetching/pojos-with-recordmapper-provider/