diff --git a/pom.xml b/pom.xml index 22a3e1962..3a0741727 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ com.easy-query easy-query-all pom - 1.7.1 + 1.7.2 easy-query java object query distributed connector https://github.com/xuejmnet/easy-query diff --git a/samples/console-demo/pom.xml b/samples/console-demo/pom.xml index 04f8a77c0..3239e9106 100644 --- a/samples/console-demo/pom.xml +++ b/samples/console-demo/pom.xml @@ -6,7 +6,7 @@ com.easy-query samples - 1.7.1 + 1.7.2 console-demo @@ -22,21 +22,21 @@ com.easy-query sql-mysql - 1.7.1 + 1.7.2 compile com.easy-query sql-processor - 1.7.1 + 1.7.2 compile com.easy-query sql-api-proxy - 1.7.1 + 1.7.2 compile diff --git a/samples/easy-query-solon-web/pom.xml b/samples/easy-query-solon-web/pom.xml index f7484daee..682ad95cc 100644 --- a/samples/easy-query-solon-web/pom.xml +++ b/samples/easy-query-solon-web/pom.xml @@ -6,7 +6,7 @@ com.easy-query samples - 1.7.1 + 1.7.2 com.easy.query.solon @@ -22,13 +22,13 @@ com.easy-query sql-solon-plugin - 1.7.1 + 1.7.2 compile com.easy-query sql-processor - 1.7.1 + 1.7.2 compile diff --git a/samples/pom.xml b/samples/pom.xml index 2082e9b18..d39f89e2b 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -5,7 +5,7 @@ easy-query-all com.easy-query - 1.7.1 + 1.7.2 4.0.0 @@ -43,7 +43,7 @@ com.easy-query sql-springboot-starter - 1.7.1 + 1.7.2 compile diff --git a/samples/solon-sharding-demo/pom.xml b/samples/solon-sharding-demo/pom.xml index f7d08e588..91695ae70 100644 --- a/samples/solon-sharding-demo/pom.xml +++ b/samples/solon-sharding-demo/pom.xml @@ -6,7 +6,7 @@ com.easy-query samples - 1.7.1 + 1.7.2 com.easy.query @@ -22,7 +22,7 @@ com.easy-query sql-solon-plugin - 1.7.1 + 1.7.2 compile diff --git a/samples/spring-sharding-demo/pom.xml b/samples/spring-sharding-demo/pom.xml index eb889fc5c..83c76d479 100644 --- a/samples/spring-sharding-demo/pom.xml +++ b/samples/spring-sharding-demo/pom.xml @@ -55,13 +55,13 @@ com.easy-query sql-processor - 1.7.1 + 1.7.2 compile com.easy-query sql-springboot-starter - 1.7.1 + 1.7.2 compile diff --git a/samples/springbootdemo/pom.xml b/samples/springbootdemo/pom.xml index e3112276f..f986b123e 100644 --- a/samples/springbootdemo/pom.xml +++ b/samples/springbootdemo/pom.xml @@ -74,19 +74,19 @@ com.easy-query sql-core - 1.7.1 + 1.7.2 compile com.easy-query sql-api4j - 1.7.1 + 1.7.2 compile com.easy-query sql-springboot-starter - 1.7.1 + 1.7.2 compile diff --git a/sql-core/pom.xml b/sql-core/pom.xml index 99f0097ed..0807010c3 100644 --- a/sql-core/pom.xml +++ b/sql-core/pom.xml @@ -5,7 +5,7 @@ easy-query-all com.easy-query - 1.7.1 + 1.7.2 4.0.0 diff --git a/sql-core/src/main/java/com/easy/query/core/metadata/EntityMetadata.java b/sql-core/src/main/java/com/easy/query/core/metadata/EntityMetadata.java index cb64a01bd..75cec857a 100644 --- a/sql-core/src/main/java/com/easy/query/core/metadata/EntityMetadata.java +++ b/sql-core/src/main/java/com/easy/query/core/metadata/EntityMetadata.java @@ -189,7 +189,7 @@ public void init(ServiceProvider serviceProvider) { if (navigate != null) { createNavigateMetadata(tableEntity, navigate, field, fastBean, fastBeanProperty, property); continue; - } else if (tableEntity) { + } else { ValueObject valueObject = field.getAnnotation(ValueObject.class); if (valueObject != null) { hasValueObject = true; diff --git a/sql-db-support/pom.xml b/sql-db-support/pom.xml index 15a0b8570..b5c8e2e23 100644 --- a/sql-db-support/pom.xml +++ b/sql-db-support/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 sql-db-support diff --git a/sql-db-support/sql-dameng/pom.xml b/sql-db-support/sql-dameng/pom.xml index 41511079b..fdbec55b2 100644 --- a/sql-db-support/sql-dameng/pom.xml +++ b/sql-db-support/sql-dameng/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml diff --git a/sql-db-support/sql-h2/pom.xml b/sql-db-support/sql-h2/pom.xml index 8604c3c73..66c277aff 100644 --- a/sql-db-support/sql-h2/pom.xml +++ b/sql-db-support/sql-h2/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml diff --git a/sql-db-support/sql-kingbase-es/pom.xml b/sql-db-support/sql-kingbase-es/pom.xml index 60df142d4..4710768ea 100644 --- a/sql-db-support/sql-kingbase-es/pom.xml +++ b/sql-db-support/sql-kingbase-es/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml sql-kingbase-es diff --git a/sql-db-support/sql-mssql/pom.xml b/sql-db-support/sql-mssql/pom.xml index df07ec9d4..2b68bb8b9 100644 --- a/sql-db-support/sql-mssql/pom.xml +++ b/sql-db-support/sql-mssql/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml diff --git a/sql-db-support/sql-mysql/pom.xml b/sql-db-support/sql-mysql/pom.xml index 87e75eaba..5fdc04aa1 100644 --- a/sql-db-support/sql-mysql/pom.xml +++ b/sql-db-support/sql-mysql/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml diff --git a/sql-db-support/sql-oracle/pom.xml b/sql-db-support/sql-oracle/pom.xml index 49bfc17c6..85c18f3b9 100644 --- a/sql-db-support/sql-oracle/pom.xml +++ b/sql-db-support/sql-oracle/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml diff --git a/sql-db-support/sql-pgsql/pom.xml b/sql-db-support/sql-pgsql/pom.xml index 65c411973..0fa358b6d 100644 --- a/sql-db-support/sql-pgsql/pom.xml +++ b/sql-db-support/sql-pgsql/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml diff --git a/sql-db-support/sql-sqlite/pom.xml b/sql-db-support/sql-sqlite/pom.xml index ca62cb1fe..cc915bbad 100644 --- a/sql-db-support/sql-sqlite/pom.xml +++ b/sql-db-support/sql-sqlite/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml diff --git a/sql-extension/pom.xml b/sql-extension/pom.xml index b51f640aa..08807e2a3 100644 --- a/sql-extension/pom.xml +++ b/sql-extension/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 sql-extension diff --git a/sql-extension/sql-kt-springboot-starter/pom.xml b/sql-extension/sql-kt-springboot-starter/pom.xml index 3c660aab4..e4db46780 100644 --- a/sql-extension/sql-kt-springboot-starter/pom.xml +++ b/sql-extension/sql-kt-springboot-starter/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml diff --git a/sql-extension/sql-solon-plugin/pom.xml b/sql-extension/sql-solon-plugin/pom.xml index 0c79ae6ce..4c8c90872 100644 --- a/sql-extension/sql-solon-plugin/pom.xml +++ b/sql-extension/sql-solon-plugin/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml diff --git a/sql-extension/sql-springboot-starter/pom.xml b/sql-extension/sql-springboot-starter/pom.xml index 32af48e62..ea6a4ea12 100644 --- a/sql-extension/sql-springboot-starter/pom.xml +++ b/sql-extension/sql-springboot-starter/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml diff --git a/sql-platform/pom.xml b/sql-platform/pom.xml index 3c1fc8ab5..37d0e5d29 100644 --- a/sql-platform/pom.xml +++ b/sql-platform/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 sql-platform diff --git a/sql-platform/sql-api-proxy/pom.xml b/sql-platform/sql-api-proxy/pom.xml index b3b190ddb..1966a376d 100644 --- a/sql-platform/sql-api-proxy/pom.xml +++ b/sql-platform/sql-api-proxy/pom.xml @@ -6,7 +6,7 @@ com.easy-query sql-platform - 1.7.1 + 1.7.2 sql-api-proxy diff --git a/sql-platform/sql-api4j/pom.xml b/sql-platform/sql-api4j/pom.xml index 82544aa80..a7a540006 100644 --- a/sql-platform/sql-api4j/pom.xml +++ b/sql-platform/sql-api4j/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml diff --git a/sql-platform/sql-api4kt/pom.xml b/sql-platform/sql-api4kt/pom.xml index 4b991a0f2..8044b7d31 100644 --- a/sql-platform/sql-api4kt/pom.xml +++ b/sql-platform/sql-api4kt/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 ../../pom.xml diff --git a/sql-processor/pom.xml b/sql-processor/pom.xml index 16c549dfe..6aa4aaa58 100644 --- a/sql-processor/pom.xml +++ b/sql-processor/pom.xml @@ -6,7 +6,7 @@ com.easy-query easy-query-all - 1.7.1 + 1.7.2 sql-processor diff --git a/sql-test/pom.xml b/sql-test/pom.xml index 0071a16a6..64e933814 100644 --- a/sql-test/pom.xml +++ b/sql-test/pom.xml @@ -5,7 +5,7 @@ easy-query-all com.easy-query - 1.7.1 + 1.7.2 4.0.0 @@ -71,7 +71,7 @@ com.easy-query sql-api4kt - 1.7.1 + 1.7.2 compile diff --git a/sql-test/src/main/java/com/easy/query/test/QueryTest8.java b/sql-test/src/main/java/com/easy/query/test/QueryTest8.java index bfcbccc7c..2a598ef53 100644 --- a/sql-test/src/main/java/com/easy/query/test/QueryTest8.java +++ b/sql-test/src/main/java/com/easy/query/test/QueryTest8.java @@ -5,11 +5,15 @@ import com.easy.query.api4j.select.Queryable; import com.easy.query.api4j.select.Queryable2; import com.easy.query.core.enums.AggregatePredicateCompare; +import com.easy.query.core.exception.EasyQuerySQLCommandException; +import com.easy.query.core.exception.EasyQuerySQLStatementException; import com.easy.query.test.dto.BlogEntityTest; import com.easy.query.test.dto.TopicRequest; import com.easy.query.test.dto.proxy.BlogEntityTestProxy; import com.easy.query.test.entity.BlogEntity; import com.easy.query.test.entity.Topic; +import com.easy.query.test.entity.company.ValueCompany; +import com.easy.query.test.entity.company.ValueCompanyDTO; import com.easy.query.test.entity.proxy.BlogEntityProxy; import com.easy.query.test.entity.proxy.TopicProxy; import org.junit.Assert; @@ -18,6 +22,7 @@ import java.time.LocalDateTime; import java.util.Collections; import java.util.List; +import java.util.function.Supplier; /** * create time 2023/10/31 07:31 @@ -524,4 +529,51 @@ public void test2(){ o.columnAs(o.t().url(), o.tr().url()).columnAs(o.t1().title(),o.tr().content()); }).toList(); } + + @Test + public void test3(){ + ValueCompanyDTO companyDTO = easyQuery.queryable(ValueCompany.class) + .select(ValueCompanyDTO.class,o->o.columnAll()) + .firstOrNull(); + Assert.assertNotNull(companyDTO.getName()); + Assert.assertNotNull(companyDTO.getLicense()); + Assert.assertNotNull(companyDTO.getLicense().getLicenseNo()); + Assert.assertNotNull(companyDTO.getLicense().getExtra()); + Assert.assertNotNull(companyDTO.getLicense().getLicenseDeadline()); + Assert.assertNotNull(companyDTO.getLicense().getExtra().getLicenseContent()); + Assert.assertNotNull(companyDTO.getLicense().getExtra().getLicenseImage()); + Assert.assertNotNull(companyDTO.getAddress()); + Assert.assertNotNull(companyDTO.getAddress().getProvince()); + Assert.assertNotNull(companyDTO.getAddress().getArea()); + + ValueCompanyDTO companyDTO1 = easyQuery.queryable(ValueCompany.class) + .select(ValueCompanyDTO.class, o -> o.columnAs(x -> x.getAddress().getProvince(), x -> x.getLicense().getExtra().getLicenseContent())) + .firstOrNull(); + Assert.assertNotNull(companyDTO1); + Assert.assertEquals(companyDTO.getAddress().getProvince(),companyDTO1.getLicense().getExtra().getLicenseContent()); + } + @Test + public void test4(){ + + Supplier f = () -> { + try { + ValueCompanyDTO companyDTO = easyQuery.queryable(ValueCompany.class) + .asTable("COMPANY_A") + .select(ValueCompanyDTO.class,o->o.columnAll()) +// .select(BlogEntity.class, o -> o.column(BlogEntity::getId).columnCountAs(BlogEntity::getId, BlogEntity::getStar)) + .firstOrNull(); + }catch (Exception ex){ + return ex; + } + return null; + }; + Exception exception = f.get(); + Assert.assertNotNull(exception); + Assert.assertTrue(exception instanceof EasyQuerySQLCommandException); + EasyQuerySQLCommandException easyQuerySQLCommandException = (EasyQuerySQLCommandException) exception; + Assert.assertTrue(easyQuerySQLCommandException.getCause() instanceof EasyQuerySQLStatementException); + EasyQuerySQLStatementException easyQuerySQLStatementException = (EasyQuerySQLStatementException) easyQuerySQLCommandException.getCause(); + Assert.assertEquals("SELECT t.`name`,t.`province`,t.`area`,t.`license_no`,t.`license_deadline`,t.`license_image`,t.`license_content` FROM `COMPANY_A` t LIMIT 1",easyQuerySQLStatementException.getSQL()); + + } } diff --git a/sql-test/src/main/java/com/easy/query/test/entity/company/ValueCompanyAddressDTO.java b/sql-test/src/main/java/com/easy/query/test/entity/company/ValueCompanyAddressDTO.java new file mode 100644 index 000000000..1f5c33ad1 --- /dev/null +++ b/sql-test/src/main/java/com/easy/query/test/entity/company/ValueCompanyAddressDTO.java @@ -0,0 +1,25 @@ +package com.easy.query.test.entity.company; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * create time 2023/11/7 14:06 + * 文件说明 + * + * @author xuejiaming + */ +@Data +@EqualsAndHashCode +@ToString +public class ValueCompanyAddressDTO { + /** + * 企业所属省份 + */ + private String province; + /** + * 企业所属区域 + */ + private String area; +} diff --git a/sql-test/src/main/java/com/easy/query/test/entity/company/ValueCompanyDTO.java b/sql-test/src/main/java/com/easy/query/test/entity/company/ValueCompanyDTO.java new file mode 100644 index 000000000..085c392b6 --- /dev/null +++ b/sql-test/src/main/java/com/easy/query/test/entity/company/ValueCompanyDTO.java @@ -0,0 +1,32 @@ +package com.easy.query.test.entity.company; + +import com.easy.query.core.annotation.EntityProxy; +import com.easy.query.core.annotation.ValueObject; +import lombok.Data; +import lombok.ToString; + +/** + * create time 2023/11/7 14:06 + * 文件说明 + * + * @author xuejiaming + */ +@Data +@ToString +@EntityProxy +public class ValueCompanyDTO { + /** + * 企业名称 + */ + private String name; + /** + * 企业地址信息 + */ + @ValueObject + private ValueCompanyAddressDTO address; + /** + * 企业营业执照信息 + */ + @ValueObject + private ValueCompanyLicense license; +}