繁体   English   中英

如何在 Spring 数据 r2dbc 中替换 @PrePersist

[英]How can I substitute @PrePersist in Spring data r2dbc

我在 Spring Webflux 应用程序中使用spring-boot-starter-data-r2dbc (版本 1.1.3)模块。
我想将实体生命周期回调添加到我的持久层。
使用 Spring Data JPA,可以使用@PrePersist@PreUpdate等注释。
有没有什么方便的方法可以用 Spring Data r2dbc 实现这一点?

从作为新Spring Data 2020.0 版本的一部分的spring-data-r2dbc:1.2.0 ,可以使用新的“生命周期实体回调 API”。

这是一个简短的例子:

import org.springframework.data.r2dbc.mapping.event.BeforeSaveCallback;


@Component
public class DefaultingEntityCallback implements BeforeSaveCallback<MyEntity> {

    @Override
    public Publisher<MyEntity> onBeforeSave(final MyEntity entity,
                                            final OutboundRow row,
                                            final SqlIdentifier table) {
        // do something
        return Mono.just(entity);
    }
}

这是一些文档: https : //docs.spring.io/spring-data/r2dbc/docs/current/reference/html/#r2dbc.entity-callbacks

文档

Spring Data R2DBC 的目标是在概念上简单。 为了实现这一点,它不提供缓存、延迟加载、后写或 ORM 框架的许多其他功能。 这使得 Spring Data R2DBC 成为一个简单、有限、自以为是的对象映射器。

因此,您必须要么编写自己的此类机制,要么编写不依赖于它们的持久性代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM