U43 JPA / Hibernate / Spring Data JPA 实验
实验使用 Liberica JDK 21、Spring Boot 4.0.9 与其 BOM 管理的 Jakarta Persistence 3.2.0、Hibernate ORM 7.2.25.Final、Spring Data JPA 4.0.8、Connector/J 9.7.0;数据库为 DBngin 的本机 MySQL 8.4.7。
python3 labs/jpa-u43/run.py
python3 labs/jpa-u43/slice-run.pyrunner 离线使用 Maven 本地缓存,并对 Java 子进程使用环境变量白名单、关闭外部 Spring 配置文件,runner 生成且程序仅操作独立 study_u43_* schema;显式构造数据源并校验目标,应用不启动 HTTP。运行需要本机 MySQL 监听 127.0.0.1:3306,默认 root 空密码,亦可用 U43_MYSQL_USER / U43_MYSQL_PASSWORD 传入凭据(不写证据)。程序关闭连接池后删除其创建的 schema;捕获到子进程退出或超时时,runner 仅对已确认由本次创建的 schema 尝试应急清理,归属标记之前中断则报告待检查名称;runner 自身被强杀时不保证执行清理,需核对本次 schema。失败运行不覆盖已有成功证据。切片 runner 仅从 Maven Central 临时下载固定且校验 SHA-256 的两个 Boot 4.0.9 JPA 测试模块,配合本机已有测试依赖与 H2 内存库;临时目录退出即清理,不修改既有 Maven 缓存。设置 U43_TEST_ABORT_AFTER_CREATE=1 可在创建标记后使实验子进程立刻终止,验证应急清理;这是受控突然终止,不是已等待 120 秒的超时测试。
资源:入口、POM、实验主程序、应急清理、账户实体、看板、子项、部门实体、员工实体、账户仓储、投影接口、员工仓储、MySQL 证据、异常清理证据、切片入口、切片测试、切片执行器、切片证据。