当前位置: 首页 > news >正文

SDK-0.7.8-Release-实体管理 - ApiHug-Release

 🤗 ApiHug × {Postman|Swagger|Api...} = 快↑ 准√ 省↓

  1. GitHub - apihug/apihug.com: All abou the Apihug   
  2. apihug.com: 有爱,有温度,有质量,有信任
  3. ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace

更多精彩参考官方:apihug.com: 有爱,有温度,有质量,有信任  最新 release note

docs/framework/versions/0.7.8_cn.md · dearxuecom/apihug.com - Gitee.com

💁 如果你尚未使用 ApiHug 领域实体对象管理(ORM), 然后这个迁移将不会影响你,但最好和官方保持统一最新版本! :-)

0.7.8-RELEASE 添加功能:

  • 将 Repository 扩展, 迁移到独立的 trait 目录管理, 使代码结构更简单清晰;
  • lite 模式作为 stub 默认编译模式,将使他更迅捷;

Repository 迁移

目的:

  1. 使 repository 更直接简单.
  2. 使 repository 扩展更方便维护.

举个在你模块 book-app 已存在 的 repository为例: com.novel.book.wire.domain.book.repository.BookAuthorRepository:

现有逻辑在: in book-app\src\main\stub\com\novel\book\wire\domain\book\repository\BookAuthorRepository:

@Repository
@SuppressWarnings("Duplicates")
public interface BookAuthorRepositoryextends HopeJdbc<BookAuthor>,BookJdbcSupport,BookAuthorDSL,ListCrudRepository<BookAuthor, Long> {@Derived@QueryOptional<BookAuthor> findByName(final String name);//Other method
}

⚠️⚠️⚠️ 首先保证你的 @Derived 已经备份, 在你跑 stub 命令前;(如果版本管理,先commit为妙)

因为升级后的 stub 只保留纯 generated代码, 也就是是可以跑 stub 命令中被完全删除.

Step1

跑下本模块的 stub 命令, 首先保证你SDK 版本已经被更新到 0.7.8-RELEASE+, gradle\libs.versions.toml:

[versions]
# libraries
apihug = "0.7.8-RELEASE"

命令行可以到你项目的 README.md 找到:

./gradlew.bat book-app:clean stub build -x test -x stubTest

跑完后你会看到一个新的 sourceSetbook-app\src\main\trait;

💁‍♀️ 你可能需要重新到你的 gradle tool window 触发本项目的 Reload Gradle Project ,否则可能提醒 book-app\src\main\trait 不能被当做 sourceSet!

Step2

  1. 手动将 @Derived copy 回到 _BookAuthorRepository(trait 目录下) & BookAuthorRepository(stub 目录)(只有第一次迁移需要,以后只需要在 _BookAuthorRepository 编写);
  2. 再次启动 stub 命令.

从今往后, 所有Repository扩展 @Derived 方法, 都可以在独立的 book-app\src\main\trait 目录维护啦:

  1. stub 命令将你需要融入(trait)的方法(也就是老的方法)合进到运行时的 BookAuthorRepository 类
  2. 避免 BookAuthorRepository 在持续开发中大量的冲突,保持他的简单和直观.
  3. 也很容易维护我们的 repository扩展接口, 这里保持纯的 SQL 逻辑;

真实项目的目录结构:

+---java
|   \---com
|       \---novel
|           \---book
+---stub
|   \---com
|       \---novel
|           \---book
|               \---wire
|                   \---domain
|                       +---account
|                       |   +---dsl
|                       |   \---repository
|                       +---book
|                       |   +---dsl
|                       |   \---repository
|                       \---job
|                           +---dsl
|                           \---repository
\---trait\---t\---com\---novel\---book\---wire\---domain+---account|   \---repository+---book|   \---repository\---job\---repository

Best Tips

你可以把 _BookAuthorRepository 想象成 BookAuthorRepository伴生类(虽然有继承关系:方便获得编辑器提示) ;

只是 ApiHug 工具链完全帮你处理掉了过程的复杂性!

参考Scala 半生对象 Companion objects;

如果你过程中遇到任何问题,请垂询我们:

api-hug-contact

相关文章:

SDK-0.7.8-Release-实体管理 - ApiHug-Release

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace 更多精彩…...

3. DAX 时间函数-- DATE 日期--一生二,二生三,三生万物

在数据分析过程中&#xff0c;经常需要从一个数据推到另外一个数据&#xff0c;日期数据也是如此&#xff0c;需要从一个日期推到另外一个相关的日期&#xff0c;或者从一群日期推到另外一个相关的日期/一群相关的日期。这一期说的就是日期之间彼此推衍的函数&#xff0c;会比之…...

c 解数独(通用方法,适用于9×9 数独)

折腾了一周时间&#xff0c;终于搞定99数独通用方法 思路&#xff1a;1.生成每行空位的值&#xff0c;也就是1-9中除去非0的数。 2.用行&#xff0c;列&#xff0c;宫判断每行中每个空位的最小取值范围后再重新生成每行。 3.随机提取生成的9行&#xff0c;判断每列之和是否等…...

一篇文章深入学习Java的AQS(AbstractQueuedSynchronizer)

深入理解AQS的设计和工作机制 Oracle官方文档中的AbstractQueuedSynchronizer部分讲解 AbstractQueuedSynchronizer&#xff08;简称AQS&#xff09;是Java并发包中的一个基础框架&#xff0c;它为实现依赖单个原子变量来表示状态的同步器提供了可靠的基础。这个框架被广泛用…...

Linux sed

文章目录 1. 基本功能2.sed替换ssed配合grep和管道操作符的例子 3.sed中的删除和添加3.1 d删除3.2 a i添加添加多行 4.sed行替换替换包含某字符的行 5.单字符替换 y6. p打印命令打印含有目标字符的行sed中包含多个指令&#xff0c;使用{} 7.sed w 写入文件8.sed r 读取文件9.se…...

【MySQL】MySQL在Centos 7环境安装

目录 准备工作 第一步&#xff1a;卸载不要的环境 第二步&#xff1a;下载官方的mysql 第三步 上传到Linux中 第四步 安装 正式安装 启动 ​编辑 登录 准备工作 第一步&#xff1a;卸载不要的环境 使用root进行安装 如果是普通用户&#xff0c;使用 su - 命令&#…...

【CSS】一篇文章讲清楚screen、window和html元素的位置:top、left、width、height

一个Web网页从内到外的顺序是&#xff1a; 元素div,ul,table... → 页面body → 浏览器window → 屏幕screen 分类详情屏幕screen srceen.width - 屏幕的宽度 screen.height - 屏幕的高度&#xff08;屏幕未缩放时&#xff0c;表示屏幕分辨率&#xff09; screen.availLeft …...

铸造大型基础平板的结构应该怎样设计

设计大型基础平板的结构时&#xff0c;需要考虑以下几个方面&#xff1a; 地质条件&#xff1a;首先要了解工程所在地的地质条件&#xff0c;包括土质、地下水位、地震状况等。根据地质条件来选择合适的基础类型&#xff0c;如浅基、深基或地下连续墙等。 荷载分析&#xff1a…...

医院预约系统微信小程序APP前后端

医院预约系统具体功能介绍&#xff1a;展示信息、可以注册和登录&#xff0c; 预约&#xff08;包含各个科室的预约&#xff0c;可以预约每个各个医生&#xff09;&#xff0c;就诊引导包含预约的具体信息&#xff0c;包含就诊时间、就诊科室、就诊医生以及就诊人信息、和支付状…...

springboot数字化智慧城市管理系统源码

目录 ​系统开发环境 系统功能模块 系统特点 1、智慧城管移动端 2、案件受理 3、AI视频智识别分析 系统应用价值 1、提升案件办理效率 2、提升监管效能 3、提升行政执法水平 4、推进行政执法创新 智慧城管综合执法办案系统功能 现场移动执法 一般程序案件的网上办…...

【鸿蒙开发】第二十一章 Media媒体服务(一)

1 简介 Media Kit&#xff08;媒体服务&#xff09;提供了AVPlayer和AVRecorder用于播放、录制音视频。 在Media Kit的开发指导中&#xff0c;将介绍各种涉及音频、视频播放或录制功能场景的开发方式&#xff0c;指导开发者如何使用系统提供的音视频API实现对应功能。比如使用…...

【QT教程】QT6 Web应用实战

QT6 Web应用实战 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免费…...

(我的创作纪念日)[MySQL]数据库原理7——喵喵期末不挂科

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;大大会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…...

普乐蛙VR航天体验馆设备VR太空飞船VR元宇宙展厅

三天小长假就要来啦&#xff01;五一假期也即将到来。老板们想捉住人流量这个财富密码吗&#xff1f;那快快行动起来&#xff01;开启VR体验项目&#xff0c;假期赚翻天&#xff01;小编亲测&#xff01;&#xff01;这款设备刺激好玩&#xff0c;想必会吸引各位家长小孩、学生…...

基于torch的图像识别训练策略与常用模块

数据预处理部分&#xff1a; 数据增强&#xff1a;torchvision中transforms模块自带功能&#xff0c;比较实用数据预处理&#xff1a;torchvision中transforms也帮我们实现好了&#xff0c;直接调用即可DataLoader模块直接读取batch数据 网络模块设置&#xff1a; 加载预训练…...

微信小程序制作圆形进度条

微信小程序制作圆形进度条 1. 建立文件夹 选择一个目录建立一个文件夹&#xff0c;比如 mycircle 吧&#xff0c;另外把对应 page 的相关文件都建立出来&#xff0c;包括 js&#xff0c;json&#xff0c;wxml 和 wxcc。 2. 开启元件属性 在 mycircle.json中开启 component 属…...

大模型(Large Models):探索人工智能领域的新边界

&#x1f31f;文章目录 &#x1f31f;大模型的定义与特点&#x1f31f;模型架构&#x1f31f;大模型的训练策略&#x1f31f;大模型的优化方法&#x1f31f;大模型的应用案例 随着人工智能技术的飞速发展&#xff0c;大模型&#xff08;Large Models&#xff09;成为了引领深度…...

缓存相关知识总结

一、缓存的作用和分类 缓存可以减少数据库的访问压力&#xff0c;提升整个网站的数据访问速度&#xff0c;改善数据库的写入性能。缓存可以分为两种&#xff1a; 缓存在应用服务器上的本地缓存&#xff1a;访问速度快&#xff0c;但受应用服务器内存限制 缓存在专门的分布式缓存…...

Mapmost Alpha:开启三维城市场景创作新纪元

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…...

【大模型完全入门手册】——引言

博主作为一名大模型开发算法工程师,很希望能够将所学到的以及实践中感悟到的内容梳理成为书籍。作为先导,以专栏的形式先整理内容,后续进行不断更新完善。希望能够构建起从理论到实践的全流程体系。 助力更多的人了解大模型,接触大模型,一起感受AI的魅力! 在当今人工智能…...

Intel RealSense D435深度数据采集全流程:从Viewer截图到.csv/.raw文件深度解析

Intel RealSense D435深度数据采集全流程&#xff1a;从Viewer截图到.csv/.raw文件深度解析 深度视觉技术正在重塑工业检测、机器人导航和三维重建等领域的工作流程。作为Intel RealSense系列中的明星产品&#xff0c;D435深度相机以其出色的性价比和易用性&#xff0c;成为开发…...

TI INA333数据手册没细说的5个细节:增益电阻怎么选?温漂怎么算?你的电路可能一直没优化

INA333电路设计进阶指南&#xff1a;数据手册没告诉你的5个关键优化点 在精密测量电路设计中&#xff0c;INA333作为TI经典的仪表放大器&#xff0c;被广泛应用于传感器信号调理、医疗设备和工业控制等领域。虽然数据手册提供了基本参数和典型应用电路&#xff0c;但许多工程师…...

SKILLS All-in-one:开源AI Agent技能库,标准化Prompt与工具函数,提升开发效率

1. 项目定位与核心价值如果你和我一样&#xff0c;在过去一年里深度使用过 Claude Code、ChatGPT 或者尝试搭建自己的 AI Agent 工作流&#xff0c;那你一定遇到过这个痛点&#xff1a;每次想给 AI 装个新“技能”&#xff0c;都得自己从头写 Prompt、设计工具调用逻辑、处理错…...

利用 JiuwenClaw AgentTeam 打造自动化研发团队

利用 JiuwenClaw AgentTeam 打造自动化研发团队 本文介绍如何通过 JiuwenClaw AgentTeam 构建自动化研发团队&#xff0c;实现字幕软件开发、AtomGit Issue/PR 智能处理与飞书文档同步。 目录 JiuwenClaw 平台概述 系统架构预置智能体类型 什么是 AgentTeams飞书群中添加机器人…...

Helm 2到Helm 3迁移实战:深入解析helm-2to3插件原理与操作指南

1. 项目概述与背景 如果你和我一样&#xff0c;在Kubernetes生态里摸爬滚打了几年&#xff0c;那你一定对Helm这个“包管理器”又爱又恨。爱的是它用声明式的Chart把复杂的应用部署变得像 helm install 一样简单&#xff1b;恨的是版本升级带来的“阵痛”&#xff0c;尤其是从…...

1.7.3 掌握Scala函数 - 神奇占位符

本次Scala函数实战主要聚焦于“神奇占位符”下划线&#xff08;_&#xff09;的灵活运用&#xff0c;通过三个递进的案例深入理解其简化代码的核心作用。 演示过滤列表&#xff1a;利用 filter 方法&#xff0c;对比了常规匿名函数与使用占位符的写法&#xff0c;直观展示了如何…...

在taotoken用量看板中清晰追踪每个项目的模型消耗

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在taotoken用量看板中清晰追踪每个项目的模型消耗 对于依赖大模型进行开发的团队或个人而言&#xff0c;成本控制与预算管理是项目…...

从科幻到现实:波色量子18.4亿融资背后,量子计算在多领域应用大突破!

【导语&#xff1a;科幻电影《流浪地球2》中智能量子计算机“MOSS”令人印象深刻&#xff0c;如今量子计算已从实验室走向商业化。波色量子成立三年获11轮融资共18.4亿&#xff0c;其量子计算在多领域展现出巨大应用潜力。】波色量子&#xff1a;资本竞逐中的宠儿按照“十五五规…...

两级宽带反馈放大器设计与优化方法

1. 两级宽带反馈放大器设计概述在当今高速通信和信号处理系统中&#xff0c;宽带放大器作为关键模拟模块&#xff0c;其性能直接影响整个系统的信号完整性。传统的手工设计方法在面对现代SoC日益复杂的性能需求时显得力不从心&#xff0c;特别是在需要同时满足增益、带宽、噪声…...

Sora 2国内可用性深度测评(2024Q2最新版):API调用失败率<0.8%的私有化部署方案首次公开

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT Sora 2视频生成怎么用 Sora 2 并非 OpenAI 官方发布的模型——截至目前&#xff08;2024年中&#xff09;&#xff0c;OpenAI 仅公开了 Sora&#xff08;初代&#xff09;的演示能力&#xff0…...