You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*Additions*
- Add storm-bom module for centralized dependency version management
- Add storm-test module with @stormtest JUnit 5 extension and StatementCapture
- Add Spring Boot starter auto-configuration logic
- Add StormConfig for centralized configuration
- Add JMX metrics for dirty checking, entity cache, and template cache
- Add entity lifecycle callbacks (EntityCallback<E>) for insert, update, upsert, and delete operations
- Add polymorphic entity support
- Add @uk support for unique key lookups and keyset pagination
- Add schema validation
- Add slice and keyset pagination logic with cursorless sliceBefore overloads and varargs orderByDescending
- Add multi-column expression support for all operators on inline records
- Add inline record flatten() for ORDER BY and GROUP BY expansion
- Add Kotlin examples to foundation classes
- Integrate Spotless Maven Plugin for automated code formatting (Java and Kotlin)
*Improvements*
- Split storm-jackson into storm-jackson2 (Jackson 2 / Spring Boot 3.x) and storm-jackson3 (Jackson 3 / Spring Boot 4+)
- Move @SqlLog to foundation and process via proxy, replacing Spring AOP SqlLogger
- Improve entity caching
- Improve validation
- Support entity-typed PK foreign key references in entity expansion
- Support nullable detection for compound keys (@UK/@pk on inline records)
- Propagate @persist from inline records to child fields
- Improve test coverage and eliminate warnings
*Fixes*
- Fix template cache keying
- Fix documentation errors
*Documentation*
- Comprehensive documentation updates across all major topics
Relates to #60
for module in storm-kotlin storm-kotlin-spring storm-kotlin-spring-boot-starter storm-kotlin-validator storm-metamodel-ksp storm-kotlinx-serialization; do
for module in storm-kotlin storm-kotlin-spring storm-kotlin-spring-boot-starter storm-kotlin-validator storm-metamodel-ksp storm-kotlinx-serialization; do
Storm uses [Spotless](https://github.com/diffplug/spotless) to enforce consistent code formatting across the project. Formatting is checked automatically in CI and can be enforced locally with a git pre-push hook.
56
+
57
+
-**Java** is formatted with [Palantir Java Format](https://github.com/palantir/palantir-java-format) (4-space indentation)
58
+
-**Kotlin** is formatted with [ktlint](https://github.com/pinterest/ktlint) (Kotlin coding conventions)
59
+
60
+
### Auto-fix formatting
61
+
62
+
```bash
63
+
mvn spotless:apply
64
+
```
65
+
66
+
### Check formatting without modifying files
67
+
68
+
```bash
69
+
mvn spotless:check
70
+
```
71
+
72
+
### Set up the pre-push hook
73
+
74
+
To automatically check formatting before every push:
**Storm** is a SQL Template and ORM framework designed for Kotlin 2.0+ and Java 21+, focusing on modernizing and simplifying database programming. By leveraging the latest features of Kotlin and Java, it enables developers to define entities and queries in a concise and readable manner, enhancing both productivity and code clarity.
11
+
**Storm** is a modern, high-performance ORM for Kotlin 2.0+ and Java 21+, built around a powerful SQL template engine. It focuses on simplicity, type safety, and predictable performance through immutable models and compile-time metadata.
Storm provides a Bill of Materials (BOM) for centralized version management. Import the BOM once and omit version numbers from individual Storm dependencies.
0 commit comments