在使用反应式 spring 存储库保存之前将对象的复杂字段映射到文本字段(序列化为 JSON)

Mapping complex field of an object to a text field (serialized as JSON) before saving with reactive spring repository

我正在使用 Spring 数据 r2dbc 存储库将 pojo 保存到 Postgres 数据库。我有一个带有复杂字段 definition:

的 class
// Getters and setters omitted for brevity
public class TestType {

    @Id
    private Long id;

    private TestDefinition definition;

    public static class TestDefinition {

        private String testField;

    }

}

我正在尝试找到一种方法来添加一个转换器,该转换器将在调用 ReactiveCrudRepository.save 方法时将这个复杂字段序列化为 JSON。我查看了源代码并阅读了 API 文档,但找不到可以插入我的逻辑的地方。

在使用 JPAHibernate 的项目中,通过创建自定义 UserType classes 很容易做到这一点。如果有人有任何指示,我将不胜感激。

编辑

这现在是可行的,查看:https://medium.com/@nikola.babic1/mapping-to-json-fields-with-spring-data-r2dbc-and-reactive-postgres-driver-1db765067dc5

Spring Data R2DBC 还很年轻,它的功能集每天都在增长。目前不支持自定义转换,但您可能需要 file a ticket.

PS:Hibernate大约是从2001年开始的(或多或少),Spring数据R2DBC是今年5月份开始的。