feat(data): 添加动态Specification构建器及配套工具类

- 新增DynamicSpecificationBuilder工具类,支持根据DTO动态生成JPA Specification查询条件
- 添加FieldMatch注解,用于配置字段匹配方式和查询条件
- 添加MatchType枚举,定义多种字段匹配类型如EQUALS、CONTAINS、BETWEEN等
- 添加LogicalOperator枚举,支持AND和OR逻辑操作符
- 实现缓存机制提升反射操作性能,包括实体字段缓存、DTO字段信息缓存等
- 支持嵌套属性访问,如user.address.city格式的字段路径
- 提供默认匹配机制,根据字段类型自动选择合适的匹配方式
- 添加PageableFactory接口,简化分页参数处理
- 更新zkh-data模块依赖,引入Jakarta Persistence API和Spring Data JPA
- 升级项目版本至1.2,统一管理各模块版本号
- 添加详细的使用文档README.md,包含使用示例和最佳实践
This commit is contained in:
zkh
2025-11-21 18:27:58 +08:00
parent eb66fe7810
commit 5029ae6664
11 changed files with 1278 additions and 4 deletions

View File

@ -6,7 +6,7 @@
<parent>
<groupId>vip.jcfd</groupId>
<artifactId>zkh-framework</artifactId>
<version>1.1</version>
<version>1.2</version>
</parent>
<artifactId>zkh-data</artifactId>
@ -19,8 +19,41 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.persistence</groupId>
<artifactId>jakarta.persistence-api</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.42</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>