KRYSTALM7 opened a new pull request, #11:
URL: https://github.com/apache/fineract-loan-origination/pull/11
## FINERACT-2442 — Domain Entities
Adds five JPA entities forming the complete LOS data model.
### Entities
- **LoanApplication** — root aggregate with @Version optimistic
locking, Spring Data auditing, and tenant_id isolation. Status
driven exclusively by LoanOriginationStateMachine.
- **ApplicantProfile** — one-to-one, financial data feeds credit
scoring engine (income 30%, debt 25%, employment 20%)
- **RequiredDocument** — many-to-one, tracks document lifecycle
PENDING → UPLOADED → VERIFIED/REJECTED
- **ApprovalStage** — many-to-one, immutable audit record per
decision — regulatory compliance requirement
- **CreditScore** — one-to-one, factor scores stored individually
for score explainability
### Configuration
- **JpaConfig** — enables Spring Data JPA auditing
### Key Decisions
- @Enumerated(EnumType.STRING) — safe against enum reordering
- FetchType.LAZY — no N+1 query risk
- ddl-auto: validate — Flyway owns schema, JPA only validates
- updatable = false on tenant_id, FK, created_at
### Related
- JIRA: https://issues.apache.org/jira/browse/FINERACT-2442
- Depends on: domain enums PR
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]