13 SQL 参数与行映射:实验卡(2026-10-04) 前提:专用 javaee_lab,按 db/migrations/001-initial.sql 迁移,Open Liberty 与数据库均在 127.0.0.1;仅在单独的 JAVAEE_DEMO_MODE=true 环境访问未认证演示资源。令 JAVAEE_LAB_PASSWORD 仅在本地进程环境存在,不把值、敏感配置或真实用户数据写入文件。 正常(已归档的 business/scenario.stdout.txt + scenario-exit-code.txt 证明当次顺序场景结果,不代表本次重跑): cd examples/javaee-enterprise JAVAEE_PORT=9085 JAVAEE_DEMO_MODE=true JAVAEE_LAB_USER=javaee_lab bash scenarios/09-lab-procurement.sh 期望:创建 201,非法提前下单 409,提交和批准 204,下单及重试 200,同一订单 ID,独立库查询 ORDERED|13.75|1;保留该次随机租户及申请 ID。脚本不核对两条明细的逐行结果;补测需用真实输出的数字 ID 查询 purchase_line,预期 paper/3.50/2 与 pen/2.25/3,单列 NOT_RUN。 失败(尚未运行,仅验证数据库 DDL;必须确认连到新的隔离库): PGPASSWORD="$JAVAEE_LAB_PASSWORD" psql -X -v ON_ERROR_STOP=1 -h 127.0.0.1 -U javaee_lab -d javaee_lab -c "INSERT INTO purchase_request(tenant_id,version,status,total) VALUES ('lab-invalid-total',0,'DRAFT',-0.01)" PGPASSWORD="$JAVAEE_LAB_PASSWORD" psql -X -v ON_ERROR_STOP=1 -h 127.0.0.1 -U javaee_lab -d javaee_lab -c "INSERT INTO purchase_request(tenant_id,version,status,total) VALUES (NULL,0,'DRAFT',1.00)" 预期两条命令各自非零退出;先保存 stderr/退出码,再以独立连接复查无新增行。不要用 Shell ! 反转退出码后记成功。它们不通过 Java JDBC;Java SQLException 包装、SQL 注入、NULL 可选列、时间映射、批处理计数均 NOT_RUN。 待归档:代码/WAR 与迁移 SHA、服务端版本、原始 HTTP/SQL 输出、按租户的最终申请/明细/订单行、SQLState、命令与退出码。本轮无新增 PASS。