是否有与杰克逊的@ JsonAnyGetter / @ JsonAnySetter等效的JPA注释?

时间:2019-02-13 19:34:41

标签: jpa jooq

使用杰克逊,我可以使用@JsonAnyGetter@JsonAnySetterMap<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;
}

1 个答案:

答案 0 :(得分:0)

您可以在jOOQ配置中注册RecordMapperProvider,以覆盖各种方法(包括fetchInto(Class))如何应用映射: https://www.jooq.org/doc/3.11/manual/sql-execution/fetching/pojos-with-recordmapper-provider/