diff --git a/README.md b/README.md index c7b3f01eb87f2bb7d34219c794f035999252f360..5a45733048b8a69a073c5d5d20d9c3e5f48d6364 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ stars


-🔥🔥🔥dorive轻量级领域驱动框架,帮助开发者通过建模,快速构建具有可维护性、可拓展性的应用程序。 +🔥🔥🔥轻量的级领域驱动式ORM框架,帮助开发者通过建模,快速构建具有可维护性、可拓展性的应用程序。 ### 👍推荐理由 diff --git a/dorive-api/pom.xml b/dorive-api/pom.xml index 1e1d608798da44adcbdd8661f7ae77899ffaa212..9e38d8c6a04627fd4266714f7289af7bf34b75c9 100644 --- a/dorive-api/pom.xml +++ b/dorive-api/pom.xml @@ -6,7 +6,7 @@ com.gitee.digital-engine dorive - 3.3.9 + 3.4.2 dorive-api diff --git a/dorive-api/src/main/java/com/gitee/dorive/api/entity/element/EntityField.java b/dorive-api/src/main/java/com/gitee/dorive/api/entity/element/EntityField.java index c5cdee3c2a8ef80ba184a2587642163224adb62c..5ee1fee02e5fcc92a690b8ff4ef2301962709efb 100644 --- a/dorive-api/src/main/java/com/gitee/dorive/api/entity/element/EntityField.java +++ b/dorive-api/src/main/java/com/gitee/dorive/api/entity/element/EntityField.java @@ -64,7 +64,7 @@ public class EntityField extends EntityEle { private void resolve(Field field) { EntityDef entityDef = getEntityDef(); - if (entityDef != null && type != genericType) { + if (entityDef != null) { EntityDef genericEntityDef = EntityDef.fromElement(genericType); if (genericEntityDef != null) { entityDef.merge(genericEntityDef); diff --git a/dorive-coating/pom.xml b/dorive-coating/pom.xml index 93fa6cde35c9ee6c3cf9ced9402807fd36fcea08..e5f54ec32f58391898d4cf8c36c4f093336a9ae6 100644 --- a/dorive-coating/pom.xml +++ b/dorive-coating/pom.xml @@ -6,7 +6,7 @@ com.gitee.digital-engine dorive - 3.3.9 + 3.4.2 dorive-coating diff --git a/dorive-core/pom.xml b/dorive-core/pom.xml index 19353ff2cb81c5875b0239346180461a3dc494af..c0bde56d374298b7dc920d9f81fd1f856c6365d7 100644 --- a/dorive-core/pom.xml +++ b/dorive-core/pom.xml @@ -6,7 +6,7 @@ com.gitee.digital-engine dorive - 3.3.9 + 3.4.2 dorive-core diff --git a/dorive-core/src/main/java/com/gitee/dorive/core/entity/context/AbstractContext.java b/dorive-core/src/main/java/com/gitee/dorive/core/entity/context/AbstractContext.java index 392bd82994bed3047074d4b71e6a57be06f7aea1..9bb4ee1836941826c869734637a0f57d9718f852 100644 --- a/dorive-core/src/main/java/com/gitee/dorive/core/entity/context/AbstractContext.java +++ b/dorive-core/src/main/java/com/gitee/dorive/core/entity/context/AbstractContext.java @@ -24,8 +24,8 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.util.Collections; +import java.util.LinkedHashMap; import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; @Data @NoArgsConstructor @@ -40,7 +40,7 @@ public abstract class AbstractContext implements Context { public Object put(String key, Object value) { if (attachments == Collections.EMPTY_MAP) { - attachments = new ConcurrentHashMap<>(); + attachments = new LinkedHashMap<>(); } return attachments.put(key, value); } diff --git a/dorive-core/src/main/java/com/gitee/dorive/core/impl/executor/ChainExecutor.java b/dorive-core/src/main/java/com/gitee/dorive/core/impl/executor/ChainExecutor.java index 1da151c3085e14e911c0314b1f9c12a3391f9745..b3ed67d90ecf4b6c626ef26f11f1d9dc56866432 100644 --- a/dorive-core/src/main/java/com/gitee/dorive/core/impl/executor/ChainExecutor.java +++ b/dorive-core/src/main/java/com/gitee/dorive/core/impl/executor/ChainExecutor.java @@ -59,7 +59,7 @@ public class ChainExecutor extends AbstractExecutor implements EntityHandler { Selector selector = context.getSelector(); boolean isIncludeRoot = (query.getType() & OperationType.INCLUDE_ROOT) == OperationType.INCLUDE_ROOT; CommonRepository repository = this.repository.getRootRepository(); - + if (selector.matches(context, repository) || isIncludeRoot) { Result result = repository.executeQuery(context, query); List entities = result.getRecords(); @@ -95,7 +95,7 @@ public class ChainExecutor extends AbstractExecutor implements EntityHandler { int expectedIgnoreRoot = realExpectedType | OperationType.IGNORE_ROOT; Object rootEntity = operation.getEntity(); - Assert.notNull(rootEntity, "The rootEntity cannot be null!"); + Assert.notNull(rootEntity, "The root entity cannot be null!"); DerivedResolver derivedResolver = repository.getDerivedResolver(); AbstractContextRepository delegateRepository = derivedResolver.deriveRepository(rootEntity); @@ -128,14 +128,14 @@ public class ChainExecutor extends AbstractExecutor implements EntityHandler { int operationType = OperationType.NONE; boolean operable = false; if (isMatch) { - operationType = mergeOperationType(realExpectedType, repository, entity); + operationType = determineOperationType(expectedType, realExpectedType, repository, entity); operable = (operationType & OperationType.INSERT_OR_UPDATE_OR_DELETE) > 0; if ((operationType & OperationType.INSERT) == OperationType.INSERT) { getBoundValue(repository, context, rootEntity, entity); } } if (isAggregated) { - Operation newOperation = newOperation(realExpectedType, repository, context, entity); + Operation newOperation = newOperation(realExpectedType, repository, entity); newOperation.setType(operable ? expectedIncludeRoot : expectedIgnoreRoot); totalCount += repository.execute(context, newOperation); @@ -155,8 +155,8 @@ public class ChainExecutor extends AbstractExecutor implements EntityHandler { return totalCount; } - private int mergeOperationType(int realExpectedType, CommonRepository repository, Object entity) { - if (realExpectedType == OperationType.FORCE_INSERT) { + private int determineOperationType(int expectedType, int realExpectedType, CommonRepository repository, Object entity) { + if (expectedType == OperationType.FORCE_INSERT) { return OperationType.INSERT; } else { Object primaryKey = repository.getPrimaryKey(entity); @@ -165,7 +165,7 @@ public class ChainExecutor extends AbstractExecutor implements EntityHandler { } } - private Operation newOperation(int realExpectedType, CommonRepository repository, Context context, Object entity) { + private Operation newOperation(int realExpectedType, CommonRepository repository, Object entity) { OperationFactory operationFactory = repository.getOperationFactory(); if (realExpectedType == OperationType.INSERT) { return operationFactory.buildInsert(entity); diff --git a/dorive-event/pom.xml b/dorive-event/pom.xml index eb7dde7827c9987fee18ce287b7e106e9609ec2d..a295ba1020889ba574c0344fb09bb88e12296f1c 100644 --- a/dorive-event/pom.xml +++ b/dorive-event/pom.xml @@ -6,7 +6,7 @@ com.gitee.digital-engine dorive - 3.3.9 + 3.4.2 dorive-event diff --git a/dorive-injection/pom.xml b/dorive-injection/pom.xml index 20aaf2a89cc613c7818b6f7b9c78bede68ba5faa..2cb9b5b9827ec9d77c3761bd34a12a4c6b5ed253 100644 --- a/dorive-injection/pom.xml +++ b/dorive-injection/pom.xml @@ -6,7 +6,7 @@ com.gitee.digital-engine dorive - 3.3.9 + 3.4.2 dorive-injection diff --git a/dorive-proxy/pom.xml b/dorive-proxy/pom.xml index 01c8a32013c5e6593cddec3aea5858a03cb35330..dc7e069147e3f2c3dae416492c4e04c123f18d6e 100644 --- a/dorive-proxy/pom.xml +++ b/dorive-proxy/pom.xml @@ -6,7 +6,7 @@ com.gitee.digital-engine dorive - 3.3.9 + 3.4.2 dorive-proxy diff --git a/dorive-ref/pom.xml b/dorive-ref/pom.xml index 8de9b58a5b6e1d0870ffc62ce9ace01513c9b74a..b6ef802e5e93ea337a52fae79558efff042bcbd1 100644 --- a/dorive-ref/pom.xml +++ b/dorive-ref/pom.xml @@ -6,7 +6,7 @@ com.gitee.digital-engine dorive - 3.3.9 + 3.4.2 dorive-ref diff --git a/dorive-spring-boot-starter/pom.xml b/dorive-spring-boot-starter/pom.xml index 75832e37825b12fbeea8a2b9f0a4a5657c9dec61..ea9ebe91672583637f7fb2d492622e2f0263291c 100644 --- a/dorive-spring-boot-starter/pom.xml +++ b/dorive-spring-boot-starter/pom.xml @@ -6,7 +6,7 @@ com.gitee.digital-engine dorive - 3.3.9 + 3.4.2 dorive-spring-boot-starter diff --git a/pom.xml b/pom.xml index 8ed72e3fd5d910ef16b86c7d1e7c04a1264eaf10..49e3030902f3c06338c864b3b2640fa424ca603d 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.gitee.digital-engine dorive - 3.3.9 + 3.4.2 pom