Skip to main content
Version: Next

PropertyOptions <Owner>

Hierarchy

Index

Properties

optionalautoincrement

autoincrement?: boolean

Explicitly specify the auto increment of the primary key.

optionalcheck

check?: string | CheckCallback<Owner>

Specify column with check constraints. (Postgres driver only)

@see

optionalcolumnType

columnType?: AnyString | ColumnType

Specify exact database column type for Generator. (SQL only)

optionalcomment

comment?: string

Specify comment of column for Generator. (SQL only)

optionalconcurrencyCheck

concurrencyCheck?: boolean

Set to true to enable Locking via concurrency fields.

optionalcustomOrder

customOrder?: string[] | number[] | boolean[]

Specify a custom order based on the values. (SQL only)

optionaldefault

default?: null | string | number | boolean | string[] | number[]

Specify default column value for Generator. This is a runtime value, assignable to the entity property. (SQL only)

optionaldefaultRaw

defaultRaw?: string

Specify SQL functions for Generator. (SQL only) Since v4 you should use defaultRaw for SQL functions. e.g. now()

optionalextra

extra?: string

mysql only

optionalfieldName

fieldName?: string

Specify database column name for this property.

@see

optionalfieldNames

fieldNames?: string[]

Specify database column names for this property. Same as fieldName but for composite FKs.

@see

optionalformula

formula?: string | (alias: string) => string

Set to map some SQL snippet for the entity.

@see

optionalgenerated

generated?: string | GeneratedColumnCallback<Owner>

For generated columns. This will be appended to the column type after the generated always clause.

optionalgetter

getter?: boolean

Set true to define the properties as getter. (virtual)

@example
@Property({ getter: true })
get fullName() {
return this.firstName + this.lastName;
}

optionalgetterName

getterName?: keyof Owner

When defining a property over a method (not a getter, a regular function), you can use this option to point to the method name.

@example
@Property({ getter: true })
getFullName() {
return this.firstName + this.lastName;
}

optionalgroups

groups?: string[]

Specify serialization groups for serialize() calls. If a property does not specify any group, it will be included, otherwise only properties with a matching group are included.

optionalhidden

hidden?: boolean

Set to true to omit the property when Serializing.

optionalhydrate

hydrate?: boolean

Set false to disable hydration of this property. Useful for persisted getters.

optionalignoreSchemaChanges

ignoreSchemaChanges?: (type | extra | default)[]

Set to avoid a perpetual diff from the Generator when columns are generated.

@see

optionalindex

index?: string | boolean

Explicitly specify index on a property.

optionallazy

lazy?: boolean

Set to omit the property from the select clause for lazy loading.

@see

optionallength

length?: number

Set length of database column, used for datetime/timestamp/varchar column types for Generator. (SQL only)

optionalname

name?: string

Alias for fieldName.

optionalnullable

nullable?: boolean

Set column as nullable for Generator.

optionalonCreate

onCreate?: (entity: Owner, em: EntityManager<IDatabaseDriver<Connection>>) => any

Automatically set the property value when entity gets created, executed during flush operation.


Type declaration

optionalonUpdate

onUpdate?: (entity: Owner, em: EntityManager<IDatabaseDriver<Connection>>) => any

Automatically update the property value every time entity gets updated, executed during flush operation.


Type declaration

optionalpersist

persist?: boolean

Set false to define Property.

optionalprecision

precision?: number

Set precision of database column to represent the number of significant digits. (SQL only)

optionalprimary

primary?: boolean

Set true to define entity's unique primary key identifier. Alias for @PrimaryKey() decorator

@see

optionalref

ref?: boolean

Enable ScalarReference wrapper for lazy values. Use this in combination with lazy: true to have a type-safe accessor object in place of the value.

optionalreturning

returning?: boolean

Add the property to the returning statement.

optionalruntimeType

runtimeType?: string

Runtime type of the property. This is the JS type that your property is mapped to, e.g. string or number, and is normally inferred automatically via reflect-metadata. In some cases, the inference won't work, and you might need to specify the runtimeType explicitly - the most common one is when you use a union type with null like foo: number | null.

optionalscale

scale?: number

Set scale of database column to represents the number of digits after the decimal point. (SQL only)

optionalserializedName

serializedName?: string

Specify name of key for the serialized value.

optionalserializedPrimaryKey

serializedPrimaryKey?: boolean

Set to define serialized primary key for MongoDB. (virtual) Alias for @SerializedPrimaryKey() decorator.

@see

optionalserializer

serializer?: (value: any, options?: SerializeOptions<any, never, never>) => any

Set to use serialize property. Allow to specify a callback that will be used when serializing a property.

@see

Type declaration

optionalsetter

setter?: boolean

Set true to define the properties as setter. (virtual)

@example
@Property({ setter: true })
set address(value: string) {
this._address = value.toLocaleLowerCase();
}

optionaltrackChanges

trackChanges?: boolean

Set false to disable change tracking on a property level.

@see

optionaltype

type?: string | Date | uint8array | array | enumArray | unknown | AnyString | Type<any, any> | Constructor<Partial<any>> | ObjectId | Constructor<Type<any, any>> | () => unknown | ColumnType

optionalunique

unique?: string | boolean

Set column as unique for Generator. (SQL only)

optionalunsigned

unsigned?: boolean

Set column as unsigned for Generator. (SQL only)

optionalversion

version?: boolean

Set to true to enable Locking via version field. (SQL only)