我在Spring应用程序中使用spring-boot-starter-data-r2dbc (Version1.1.3)模块。
我想将实体生命周期回调添加到我的持久性层。
使用Spring,可以使用@PrePersist、@PreUpdate等注释。
有什么方便的方法可以用Spring r2dbc实现这一点吗?
发布于 2021-02-02 15:27:39
从作为新spring-data-r2dbc:1.2.0的一部分的春季数据2020.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
发布于 2020-09-29 19:02:50
来自文档
Spring数据R2DBC的目标是在概念上简单。为了实现这一点,它不提供缓存、延迟加载、编写后面的ORM框架或许多其他特性。这使得Spring R2DBC成为一个简单、有限、固执己见的对象映射器。
因此,您必须编写自己的这样的机制,或者编写不依赖于它们的持久性代码。
https://stackoverflow.com/questions/64125839
复制相似问题