Files
clean-architecture-backend-…/jpa-superpowers-package/README.md
T

69 lines
2.4 KiB
Markdown

# 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, 성능 및 보안 테스트 결과는 아니다.