[英]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.