diff --git a/pom.xml b/pom.xml
index ad62a7b70242b3ae40f006b893d2e72fa5c031ef..04acf7e45aeada0c53b071396e0a3b1ac37ffb9a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
com.gitee.digital-engine
spring-domain
- 2.7.8
+ 2.8.0
pom
diff --git a/spring-boot-starter-domain/pom.xml b/spring-boot-starter-domain/pom.xml
index 549bcf7760d4c1d1d788dce0f230e5fa4b99c747..5121aab2ee91fcf504a349fdf7cd37da06e73762 100644
--- a/spring-boot-starter-domain/pom.xml
+++ b/spring-boot-starter-domain/pom.xml
@@ -6,7 +6,7 @@
com.gitee.digital-engine
spring-domain
- 2.7.8
+ 2.8.0
spring-boot-starter-domain
diff --git a/spring-domain-coating/pom.xml b/spring-domain-coating/pom.xml
index 7ab59f7f6908bfbbdbca4d749cc188c24e8324e1..1e7104ad74e0f2d667455f5795dc88938c8d971c 100644
--- a/spring-domain-coating/pom.xml
+++ b/spring-domain-coating/pom.xml
@@ -6,7 +6,7 @@
com.gitee.digital-engine
spring-domain
- 2.7.8
+ 2.8.0
spring-domain-coating
diff --git a/spring-domain-coating/src/main/java/com/gitee/spring/domain/coating/repository/AbstractChainRepository.java b/spring-domain-coating/src/main/java/com/gitee/spring/domain/coating/repository/AbstractChainRepository.java
index 9e3ed9e171789e0bcfd7a56dfc98386bbdc6e1f7..2902d893057280218c21ad07c597dadd4ef20215 100644
--- a/spring-domain-coating/src/main/java/com/gitee/spring/domain/coating/repository/AbstractChainRepository.java
+++ b/spring-domain-coating/src/main/java/com/gitee/spring/domain/coating/repository/AbstractChainRepository.java
@@ -7,12 +7,13 @@ import com.gitee.spring.domain.coating.entity.PropertyDefinition;
import com.gitee.spring.domain.coating.entity.RepositoryDefinition;
import com.gitee.spring.domain.coating.entity.RepositoryLocation;
import com.gitee.spring.domain.coating.impl.DefaultCoatingAssembler;
+import com.gitee.spring.domain.core.api.EntityBinder;
+import com.gitee.spring.domain.core.binder.PropertyEntityBinder;
import com.gitee.spring.domain.core.entity.BindingDefinition;
import com.gitee.spring.domain.core.entity.BoundedContext;
import com.gitee.spring.domain.core.entity.EntityCriterion;
import com.gitee.spring.domain.core.entity.EntityDefinition;
import com.gitee.spring.domain.core.entity.EntityExample;
-import com.gitee.spring.domain.core.entity.EntityPropertyChain;
import com.gitee.spring.domain.core.repository.ConfiguredRepository;
import lombok.extern.slf4j.Slf4j;
@@ -24,7 +25,7 @@ import java.util.Map;
@Slf4j
public abstract class AbstractChainRepository extends AbstractCoatingRepository {
-
+
@Override
public EntityExample buildExample(BoundedContext boundedContext, Object coatingObject) {
DefaultCoatingAssembler defaultCoatingAssembler = (DefaultCoatingAssembler) classCoatingAssemblerMap.get(coatingObject.getClass());
@@ -76,8 +77,8 @@ public abstract class AbstractChainRepository extends AbstractCoatingRepo
EntityDefinition entityDefinition = definitionRepository.getEntityDefinition();
- for (BindingDefinition bindingDefinition : entityDefinition.getBoundBindingDefinitions()) {
- String absoluteAccessPath = prefixAccessPath + bindingDefinition.getBelongAccessPath();
+ for (PropertyEntityBinder propertyEntityBinder : definitionRepository.getBoundEntityBinders()) {
+ String absoluteAccessPath = prefixAccessPath + propertyEntityBinder.getBelongAccessPath();
ChainCriterion targetChainCriterion = criterionMap.get(absoluteAccessPath);
if (targetChainCriterion != null) {
EntityExample targetEntityExample = targetChainCriterion.getEntityExample();
@@ -89,11 +90,11 @@ public abstract class AbstractChainRepository extends AbstractCoatingRepo
}
if (!entityExample.isEmptyQuery()) {
- for (BindingDefinition bindingDefinition : entityDefinition.getContextBindingDefinitions()) {
- Object boundValue = boundedContext.get(bindingDefinition.getBindAttribute());
- if (boundValue != null) {
- String aliasAttribute = bindingDefinition.getAliasAttribute();
- entityExample.eq(aliasAttribute, boundValue);
+ for (EntityBinder entityBinder : definitionRepository.getContextEntityBinders()) {
+ String columnName = entityBinder.getColumnName();
+ Object queryParameter = entityBinder.getBoundValue(boundedContext, null);
+ if (queryParameter != null) {
+ entityExample.eq(columnName, queryParameter);
}
}
}
@@ -108,8 +109,8 @@ public abstract class AbstractChainRepository extends AbstractCoatingRepo
entities = configuredRepository.selectByExample(boundedContext, entityExample);
}
- for (BindingDefinition bindingDefinition : entityDefinition.getBoundBindingDefinitions()) {
- String absoluteAccessPath = prefixAccessPath + bindingDefinition.getBelongAccessPath();
+ for (PropertyEntityBinder propertyEntityBinder : definitionRepository.getBoundEntityBinders()) {
+ String absoluteAccessPath = prefixAccessPath + propertyEntityBinder.getBelongAccessPath();
ChainCriterion targetChainCriterion = criterionMap.get(absoluteAccessPath);
if (targetChainCriterion != null) {
EntityExample targetEntityExample = targetChainCriterion.getEntityExample();
@@ -118,12 +119,13 @@ public abstract class AbstractChainRepository extends AbstractCoatingRepo
continue;
}
- List