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

867 B

ORM Schema Generation

OrmSchema builds a TableSpec from annotated entities.

Example

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);

Type Mapping

Default mapping (when @DbColumn(type = "...") is not specified):

  • String -> VARCHAR(length)
  • int/Integer -> INT
  • long/Long -> BIGINT
  • short/Short -> SMALLINT
  • boolean/Boolean -> BOOLEAN (PostgreSQL) or TINYINT(1) (MySQL)
  • float/Float -> FLOAT
  • double/Double -> DOUBLE
  • UUID -> UUID (PostgreSQL) or CHAR(36) (MySQL)
  • @DbJson -> JSON (MySQL) or JSONB (PostgreSQL)

@DbColumn(length, unique, nullable) is also applied.