# JPA 관계형 영속성 플랫폼 Superpowers 패키지 이 패키지는 Java/Spring Backend Skeleton의 JPA 관계형 영속성 플랫폼을 구현하기 위한 설계서, Stable 구현 계획서, Experimental 확장 계획서와 정적 검증 도구를 포함한다. ## 기준 - 기준일: 2026-08-11 - Java 21 - Gradle Kotlin DSL - Spring Boot 4.1 dependency management - Spring Data JPA 4.1 - Jakarta Persistence 3.2 - Hibernate ORM 7.4 - PostgreSQL 16·17·18 Stable Matrix - H2는 Local Convenience이며 PostgreSQL 호환성 증거로 사용하지 않는다. ## 문서 ```text docs/superpowers/specs/2026-08-11-jpa-persistence-platform-design.md docs/superpowers/plans/2026-08-11-jpa-persistence-platform-implementation-plan.md docs/superpowers/plans/2026-08-11-jpa-persistence-experimental-expansion-plan.md ``` ## 구현 경계 Stable 계획은 다음 원칙을 고정한다. ```text 도메인이 Entity·Embeddable·Repository·Query를 소유한다. GenericRepository 또는 Spring Data CRUD 재포장을 만들지 않는다. Application Service가 Transaction 경계를 소유한다. Retry는 새 Persistence Context에서 전체 Use Case를 재실행한다. Commit 결과 불명은 자동 Retry하지 않고 reconciliation으로 처리한다. Flyway가 운영 Schema 변경의 Source of Truth다. PostgreSQL 16·17·18 실제 계약 테스트를 Release Gate로 사용한다. ``` Experimental 계획은 다음 범위를 Stable과 분리한다. ```text Shared-schema Multi-tenancy PostgreSQL RLS Schema-per-tenant Database-per-tenant Consistency-aware Read Replica Jakarta Persistence 4.0 Hibernate ORM 8 PostgreSQL 19 ``` ## 실행 순서 1. Stable 구현 계획 Task 1~53을 순서대로 수행한다. 2. 각 Task에서 실패 테스트 → 실패 확인 → 최소 구현 → 통과 확인 → 커밋 순서를 따른다. 3. Stable Release Gate가 통과한 뒤 Experimental Task 1~9를 시작한다. 4. Experimental 기능은 별도 feature flag와 승격 ADR 없이 Stable Starter에 포함하지 않는다. ## 검증 압축을 해제한 패키지 루트에서 실행한다. ```bash python validate_jpa_docs.py sha256sum -c MANIFEST.sha256 ``` 현재 `VALIDATION.md`는 문서 구조·Task 완결성·타입 일관성·경로 충돌·핵심 계약을 대상으로 한 정적 검증 결과다. 실제 Backend Skeleton 저장소의 Gradle compile, PostgreSQL integration, Flyway upgrade, failure injection, 성능 및 보안 테스트 결과는 아니다.