74 lines
2.9 KiB
Markdown
74 lines
2.9 KiB
Markdown
> **보존 안내** — 이 파일은 저장소 루트 `jpa-superpowers-package/` 에 있던 납품 패키지의 README다.
|
|
> 2026-08-15 문서 정리에서 설계서·계획서는 `docs/superpowers/specs/` 와 `docs/superpowers/plans/` 로 통합했고,
|
|
> `validate_jpa_docs.py` 와 `MANIFEST.sha256` 은 제거했다.
|
|
> 아래 본문은 납품 시점의 기록이므로 제거된 파일을 가리키는 문장은 더 이상 유효하지 않다.
|
|
|
|
# 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, 성능 및 보안 테스트 결과는 아니다.
|