Jimmer框架v0.9.71版本发布:DTO增强与保存命令优化

Jimmer框架v0.9.71版本发布:DTO增强与保存命令优化

【免费下载链接】jimmer A revolutionary ORM framework for both java and kotlin. 【免费下载链接】jimmer 项目地址: https://gitcode.com/GitHub_Trending/ji/jimmer

Jimmer是一个现代化的Java/Kotlin ORM框架,它通过创新的设计理念简化了数据访问层的开发工作。Jimmer支持不可变实体、类型安全的查询构建器、GraphQL集成等特性,让开发者能够以声明式的方式操作数据。本次发布的v0.9.71版本带来了多项重要改进,特别是在DTO处理和保存命令方面的增强。

保存命令的重大改进

新版本对保存命令进行了全面优化,现在开发者可以更灵活地控制返回的修改后实体形状。这一改进主要体现在两个方面:

  1. 通过Fetcher控制返回形状:开发者现在可以通过Fetcher来精确控制返回的modifiedEntity结构,只获取业务真正需要的关联数据。

  2. 通过输出DTO类控制返回形状:新增支持通过输出DTO类来定义返回的modifiedView结构,使得返回数据的形状可以完全按照前端需求定制。

框架内部实现了智能优化:当请求的形状不超过已有实体数据时,直接裁剪现有对象;否则才会执行新的无缓存查询。这一机制既保证了灵活性,又避免了不必要的性能开销。

Kotlin DTO注解支持

针对Kotlin开发者,新版本引入了@KotlinDto注解,这是一个专门用于DTO类型的注解(不能用于普通Kotlin类型)。该注解由jimmer-ksp处理器处理,会被jimmer-apt忽略。

这个注解的主要作用是细粒度控制DTO的不可变性。我们知道Jimmer可以为Kotlin生成不可变(immutable)和可变(mutable)两种DTO,之前只能通过全局配置jimmer.dto.mutable来控制。现在有了@KotlinDto注解,开发者可以针对每个DTO类型单独控制其不可变性,大大提高了灵活性。

属性级标量提供者支持

新版本增加了PropScalarProviderFactory接口支持,这个接口可以隐式地为属性提供标量值。当框架需要确定某个属性是否需要标量提供者时,会通过这个接口询问开发者。

在使用Spring Starter时,这个接口应该作为受管Bean提供;在其他情况下,则需要作为SqlClient的配置项。这一特性为属性值的动态处理提供了更多可能性。

API简化与优化

随着保存命令功能的不断丰富,早期版本中为了便利性提供的众多快捷方法导致了API膨胀问题。新版本开始对这些方法进行清理:

  1. 标记了大量保存命令的快捷方法为@Deprecated,为开发者提供过渡期
  2. 未来版本将对这些API进行精简,保持核心功能的同时提高API的整洁度
  3. 建议开发者开始逐步迁移到更规范的API使用方式

总结

Jimmer v0.9.71版本在保持框架核心优势的同时,针对实际开发中的痛点进行了多项改进。特别是对保存命令的优化和Kotlin DTO支持的增强,使得框架在处理复杂数据场景时更加得心应手。这些改进不仅提高了开发效率,也为后续版本的功能演进奠定了良好基础。

对于现有项目,建议开发者关注API变更说明,及时调整相关代码以适应未来的API简化。新项目则可以充分利用这些新特性,构建更加健壮和高效的数据访问层。

【免费下载链接】jimmer A revolutionary ORM framework for both java and kotlin. 【免费下载链接】jimmer 项目地址: https://gitcode.com/GitHub_Trending/ji/jimmer

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值