data
-
Domain-Level Models
Semitexa separates persistence resources from business models. Resources map tables; domain models carry behavior and invariants.
-
Repository Workflow
The canonical Semitexa path: handlers depend on repository contracts, repositories return domain models, and persistence resources stay behind the boundary.
-
Schema Sync, Not Migration Churn
Semitexa creates SQL only when the real schema changed, blocks destructive drops by default, and logs the exact DDL plan as SQL and JSON.
-
Query Builder
Compose type-safe queries with a fluent API — no raw SQL, no magic strings.
-
Filtering
Mark a property #[Filterable] and the ORM handles the rest — no manual WHERE clauses.
-
Pagination
Offset and cursor pagination out of the box — switch modes with a single query parameter.
-
Relations
Declare parent and child links on the resource itself, then read typed relations from the handler.
-
Shared Table Extension
Two modules can extend one table independently, and the ORM merges the schema without forcing either side to edit the other.
-
N+1 Without Magic
Semitexa avoids N+1 by using resource slices for the exact columns and relations each screen needs, instead of hiding database traffic behind implicit relation loading.
-
ORM Working Guide
Declaring a resource, querying it, relations and write policies, optimistic locking, transactions, wiring a store, and the gotchas.