- Shipped
- August 11, 2026 at 11:31 PM UTC
- Author
- Kamo
- Commit
- 5d43570
Both served by NARROW Repository interfaces, not JpaRepository: deleteAllInBatch and bulk JPQL bypass entity callbacks, so the interface shape is what makes append-only real rather than advisory. Instant + IANA zone + business date are all persisted, so duration is computed from instants and DST is correct for free -- a 22:00-06:00 shift is 7 hours across spring-forward and 9 across fall-back, while wall-clock subtraction computes 8 for both. updatable=false is deliberately NOT used on the frozen punch columns: Hibernate would silently omit them from the UPDATE rather than failing.