From 7f48c5520315e3f5f12044e36769cdfc1aea6ce6 Mon Sep 17 00:00:00 2001
From: wangyu <727842003@qq.com>
Date: Sat, 29 Jun 2024 14:08:02 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E5=90=84=E7=A7=8D?=
=?UTF-8?q?=E5=85=B3=E8=81=94=E6=9D=A1=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
flyfish-data/flyfish-data-domain/pom.xml | 2 +-
.../com/flyfish/framework/domain/po/Role.java | 2 +-
.../com/flyfish/framework/domain/po/User.java | 2 +-
flyfish-data/flyfish-data-r2dbc/pom.xml | 5 +++
.../r2dbc/config/R2dbcDataConfig.java | 5 +--
.../callback/ReferenceR2dbcCallback.java | 45 ++++++++++++++-----
.../r2dbc/metadata/R2dbcTableMetadata.java | 2 +-
.../impl/SimpleR2dbcMetadataManager.java | 2 +-
.../metadata/reference/R2dbcRelation.java | 2 +-
.../framework/r2dbc/domain/TestDO.java | 5 ++-
.../src/test/resources/schema.sql | 15 ++++++-
.../flyfish-data-relational/README.md | 1 +
flyfish-data/flyfish-data-relational/pom.xml | 30 +++++++++++++
.../relational}/mapping/Association.java | 2 +-
.../framework/relational/package-info.java | 1 +
flyfish-data/pom.xml | 1 +
16 files changed, 97 insertions(+), 25 deletions(-)
create mode 100644 flyfish-data/flyfish-data-relational/README.md
create mode 100644 flyfish-data/flyfish-data-relational/pom.xml
rename flyfish-data/{flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc => flyfish-data-relational/src/main/java/com/flyfish/framework/relational}/mapping/Association.java (95%)
create mode 100644 flyfish-data/flyfish-data-relational/src/main/java/com/flyfish/framework/relational/package-info.java
diff --git a/flyfish-data/flyfish-data-domain/pom.xml b/flyfish-data/flyfish-data-domain/pom.xml
index 9b5a88b..1f71e46 100644
--- a/flyfish-data/flyfish-data-domain/pom.xml
+++ b/flyfish-data/flyfish-data-domain/pom.xml
@@ -24,7 +24,7 @@
com.flyfish.framework
- flyfish-data-r2dbc
+ flyfish-data-relational
${revision}
true
diff --git a/flyfish-data/flyfish-data-domain/src/main/java/com/flyfish/framework/domain/po/Role.java b/flyfish-data/flyfish-data-domain/src/main/java/com/flyfish/framework/domain/po/Role.java
index 377584a..f1bedd7 100644
--- a/flyfish-data/flyfish-data-domain/src/main/java/com/flyfish/framework/domain/po/Role.java
+++ b/flyfish-data/flyfish-data-domain/src/main/java/com/flyfish/framework/domain/po/Role.java
@@ -3,7 +3,7 @@ package com.flyfish.framework.domain.po;
import com.flyfish.framework.domain.base.AuditDomain;
import com.flyfish.framework.enums.NamedEnum;
import com.flyfish.framework.enums.RoleType;
-import com.flyfish.framework.r2dbc.mapping.Association;
+import com.flyfish.framework.relational.mapping.Association;
import lombok.*;
import org.springframework.data.mongodb.core.mapping.DBRef;
import org.springframework.data.mongodb.core.mapping.Document;
diff --git a/flyfish-data/flyfish-data-domain/src/main/java/com/flyfish/framework/domain/po/User.java b/flyfish-data/flyfish-data-domain/src/main/java/com/flyfish/framework/domain/po/User.java
index 33bd55a..ac444da 100644
--- a/flyfish-data/flyfish-data-domain/src/main/java/com/flyfish/framework/domain/po/User.java
+++ b/flyfish-data/flyfish-data-domain/src/main/java/com/flyfish/framework/domain/po/User.java
@@ -6,7 +6,7 @@ import com.flyfish.framework.domain.base.AuditDomain;
import com.flyfish.framework.domain.base.IUser;
import com.flyfish.framework.enums.UserStatus;
import com.flyfish.framework.enums.UserType;
-import com.flyfish.framework.r2dbc.mapping.Association;
+import com.flyfish.framework.relational.mapping.Association;
import com.flyfish.framework.validation.spi.ConditionalGroup;
import lombok.*;
import org.springframework.data.annotation.Transient;
diff --git a/flyfish-data/flyfish-data-r2dbc/pom.xml b/flyfish-data/flyfish-data-r2dbc/pom.xml
index fe1f8b7..b78bdeb 100644
--- a/flyfish-data/flyfish-data-r2dbc/pom.xml
+++ b/flyfish-data/flyfish-data-r2dbc/pom.xml
@@ -21,6 +21,11 @@
org.springframework.boot
spring-boot-starter-data-r2dbc
+
+ com.flyfish.framework
+ flyfish-data-relational
+ ${revision}
+
io.asyncer
r2dbc-mysql
diff --git a/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/config/R2dbcDataConfig.java b/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/config/R2dbcDataConfig.java
index 5302e69..e0d1dc8 100644
--- a/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/config/R2dbcDataConfig.java
+++ b/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/config/R2dbcDataConfig.java
@@ -45,9 +45,8 @@ public class R2dbcDataConfig {
}
@Bean
- public EntityCallback referenceR2dbcCallback(R2dbcEntityOperations entityOperations, R2dbcMetadataManager metadataManager) {
- return new ReferenceR2dbcCallback(metadataManager, entityOperations.getDatabaseClient(), entityOperations.getDataAccessStrategy()
- .getStatementMapper());
+ public EntityCallback referenceR2dbcCallback(R2dbcMetadataManager metadataManager) {
+ return new ReferenceR2dbcCallback(metadataManager);
}
@Bean
diff --git a/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/config/callback/ReferenceR2dbcCallback.java b/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/config/callback/ReferenceR2dbcCallback.java
index 50ee424..cff0891 100644
--- a/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/config/callback/ReferenceR2dbcCallback.java
+++ b/flyfish-data/flyfish-data-r2dbc/src/main/java/com/flyfish/framework/r2dbc/config/callback/ReferenceR2dbcCallback.java
@@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mapping.PersistentEntity;
import org.springframework.data.mapping.PersistentProperty;
import org.springframework.data.mapping.PersistentPropertyAccessor;
+import org.springframework.data.r2dbc.core.R2dbcEntityOperations;
import org.springframework.data.r2dbc.core.StatementMapper;
import org.springframework.data.r2dbc.mapping.event.AfterConvertCallback;
import org.springframework.data.relational.core.mapping.RelationalPersistentProperty;
@@ -43,8 +44,7 @@ import java.util.stream.Collectors;
public class ReferenceR2dbcCallback implements AfterConvertCallback {
private final R2dbcMetadataManager r2dbcMetadataManager;
- private final DatabaseClient databaseClient;
- private final StatementMapper statementMapper;
+ private Lazy operations;
private Lazy