Есть ли эквивалент JPA аннотации @ JsonAnyGetter / @ JsonAnySetter Джексона? - PullRequest
0 голосов
/ 13 февраля 2019

С Джексоном я могу использовать @JsonAnyGetter и @JsonAnySetter для сериализации / десериализации Map<String, Object> в дополнительные поля объекта json.Есть ли аннотация JPA, которая будет делать аналогичные вещи с дополнительными значениями столбца db, полученными / установленными из / в член Map?

В частности, я бы хотел использовать jooq's .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;
}

1 Ответ

0 голосов
/ 14 февраля 2019

Вы можете зарегистрировать RecordMapperProvider в вашей конфигурации jOOQ, чтобы изменить то, как различные методы, включая fetchInto(Class), применяют сопоставление: https://www.jooq.org/doc/3.11/manual/sql-execution/fetching/pojos-with-recordmapper-provider/

...