Skip to main content
Version: Next

ManyToOneOptions <Owner, Target>

Hierarchy

Index

Properties

optionalautoincrement

autoincrement?: boolean

Explicitly specify the auto increment of the primary key.

optionalcascade

cascade?: Cascade[]

Set what actions on owning entity should be cascaded to the relationship. Defaults to [Cascade.PERSIST, Cascade.MERGE] (see cascading).

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

optionaldeferMode

deferMode?: DeferMode | immediate | deferred

Set the constraint type. Immediate constraints are checked for each statement, while deferred ones are only checked at the end of the transaction. Only for postgres unique constraints.

optionaldeleteRule

deleteRule?: AnyString | cascade | no action | set null | set default

What to do when the target entity gets deleted.

optionaleager

eager?: boolean

Always load the relationship. Discouraged for use with to-many relations for performance reasons.

optionalentity

entity?: string | () => EntityName<Target>

Set target entity type.

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

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.

optionalinversedBy

inversedBy?: (string & keyof Target) | (e: Target) => any

Point to the inverse side property name.

optionaljoinColumn

joinColumn?: string

Override the default database column name on the owning side (see Naming Strategy). This option is only for simple properties represented by a single column.

optionaljoinColumns

joinColumns?: string[]

Override the default database column name on the owning side (see Naming Strategy). This option is suitable for composite keys, where one property is represented by multiple columns.

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)

optionalmapToPk

mapToPk?: boolean

Map this relation to the primary key value instead of an entity.

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

Use this relation as a primary key.

optionalref

ref?: boolean

Wrap the entity in Reference wrapper.

optionalreferenceColumnName

referenceColumnName?: string

Override the default database column name on the target entity (see Naming Strategy). This option is only for simple properties represented by a single column.

optionalreferencedColumnNames

referencedColumnNames?: string[]

Override the default database column name on the target entity (see Naming Strategy). This option is suitable for composite keys, where one property is represented by multiple columns.

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) => any

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

@see

Type declaration

    • (value: any): any
    • Parameters

      • value: any

      Returns any

optionalsetter

setter?: boolean

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

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

optionalstrategy

strategy?: LoadStrategy | select-in | joined

Override the default loading strategy for this property. This option has precedence over the global loadStrategy, but can be overridden by FindOptions.strategy.

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)

optionalupdateRule

updateRule?: AnyString | cascade | no action | set null | set default

What to do when the reference to the target entity gets updated.

optionalversion

version?: boolean

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