Skip to main content
Version: Next

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

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

optionalfixedOrder

fixedOrder?: boolean

Force stable insertion order of items in the collection (see Collections).

optionalfixedOrderColumn

fixedOrderColumn?: string

Override default order column name (id) for fixed ordering.

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.

optionalinverseJoinColumn

inverseJoinColumn?: string

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

optionalinverseJoinColumns

inverseJoinColumns?: string[]

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

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)

optionalmappedBy

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

Point to the owning side property name.

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

optionalorderBy

orderBy?: QueryOrderMap<Target> | QueryOrderMap<Target>[]

Set default ordering.

optionalowner

owner?: boolean

Set this side as owning. Owning side is where the foreign key is defined. This option is not required if you use inversedBy or mappedBy to distinguish owning and inverse side.

optionalpersist

persist?: boolean

Set false to define Property.

optionalpivotEntity

pivotEntity?: string | () => EntityName<any>

Set pivot entity for this relation (see Custom pivot table entity).

optionalpivotTable

pivotTable?: string

Override default name for pivot table (see Naming Strategy).

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.

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)

optionalwhere

where?: FilterQuery<Target>