Files
Database/docs/ru/orm-schema.md
2026-01-15 22:38:46 +03:00

31 lines
900 B
Markdown

# ORM Schema (RU)
`OrmSchema` строит `TableSpec` на основе аннотаций.
## Пример
```java
import com.andrewkydev.database.orm.OrmSchema;
import com.andrewkydev.database.schema.SqlDialect;
import com.andrewkydev.database.schema.TableSpec;
TableSpec spec = OrmSchema.fromEntity(PlayerModel.class, SqlDialect.MYSQL);
api.schema().createTable(spec);
```
## Маппинг типов
По умолчанию:
- `String` -> `VARCHAR(length)`
- `int`/`Integer` -> `INT`
- `long`/`Long` -> `BIGINT`
- `short`/`Short` -> `SMALLINT`
- `boolean`/`Boolean` -> `BOOLEAN` (PostgreSQL) или `TINYINT(1)` (MySQL)
- `float`/`Float` -> `FLOAT`
- `double`/`Double` -> `DOUBLE`
- `UUID` -> `UUID` (PostgreSQL) или `CHAR(36)` (MySQL)
- `@DbJson` -> `JSON` (MySQL) или `JSONB` (PostgreSQL)
`@DbColumn(length, unique, nullable)` применяется автоматически.