#
Class: EntityManager<D>core.EntityManager
The EntityManager is the central access point to ORM functionality. It is a facade to all different ORM subsystems such as UnitOfWork, Query Language and Repository API.
#
Type parametersName | Type | Default |
---|---|---|
D | IDatabaseDriver | IDatabaseDriver |
#
HierarchyEntityManager
↳ EntityManager
↳ SqlEntityManager
#
Constructors#
constructor+ new EntityManager<D>(config
: Configuration<IDatabaseDriver<Connection>>, driver
: D, metadata
: MetadataStorage, useContext?
: boolean, eventManager?
: EventManager): EntityManager<D>
#
Type parameters:Name | Type | Default |
---|---|---|
D | IDatabaseDriver<Connection, D> | IDatabaseDriver<Connection\> |
#
Parameters:Name | Type | Default value |
---|---|---|
config | Configuration<IDatabaseDriver<Connection>> | - |
driver | D | - |
metadata | MetadataStorage | - |
useContext | boolean | true |
eventManager | EventManager | ... |
Returns: EntityManager<D>
Defined in: packages/core/src/EntityManager.ts:33
#
Properties#
comparator• Private
Readonly
comparator: EntityComparator
Defined in: packages/core/src/EntityManager.ts:27
#
config• Readonly
config: Configuration<IDatabaseDriver<Connection>>
#
entityFactory• Private
Readonly
entityFactory: EntityFactory
Defined in: packages/core/src/EntityManager.ts:29
#
entityLoader• Private
Readonly
entityLoader: EntityLoader
Defined in: packages/core/src/EntityManager.ts:26
#
filterParams• Private
filterParams: Dictionary<Dictionary<any>>
Defined in: packages/core/src/EntityManager.ts:32
#
filters• Private
filters: Dictionary<FilterDef<any>>
Defined in: packages/core/src/EntityManager.ts:31
#
id• Readonly
id: number
Defined in: packages/core/src/EntityManager.ts:22
#
name• Readonly
name: string
Defined in: packages/core/src/EntityManager.ts:23
#
repositoryMap• Private
Readonly
repositoryMap: Dictionary<EntityRepository<AnyEntity<any>>>
Defined in: packages/core/src/EntityManager.ts:25
#
resultCache• Private
Readonly
resultCache: CacheAdapter
Defined in: packages/core/src/EntityManager.ts:30
#
transactionContext• Private
Optional
transactionContext: any
Defined in: packages/core/src/EntityManager.ts:33
#
unitOfWork• Private
Readonly
unitOfWork: any
Defined in: packages/core/src/EntityManager.ts:28
#
validator• Private
Readonly
validator: EntityValidator
Defined in: packages/core/src/EntityManager.ts:24
#
counterâ–ª Private
Static
counter: number= 1
Defined in: packages/core/src/EntityManager.ts:21
#
Methods#
__@custom@36825â–¸ __@custom@36825(): string
Returns: string
Defined in: packages/core/src/EntityManager.ts:940
#
addFilterâ–¸ addFilter<T1>(name
: string, cond
: { __@PrimaryKeyType@41543?
: any } | NonNullable<Query<T1>> | (args
: Dictionary<any>) => FilterQuery<T1>, entityName?
: string | EntityClass<T1> | EntitySchema<T1, any> | [EntityName<T1>], enabled?
: boolean): void
Registers global filter to this entity manager. Global filters are enabled by default (unless disabled via last parameter).
#
Type parameters:Name | Type |
---|---|
T1 | AnyEntity<T1> |
#
Parameters:Name | Type |
---|---|
name | string |
cond | { __@PrimaryKeyType@41543? : any } | NonNullable<Query<T1>> | (args : Dictionary<any>) => FilterQuery<T1> |
entityName? | string | EntityClass<T1> | EntitySchema<T1, any> | [EntityName<T1>] |
enabled? | boolean |
Returns: void
Defined in: packages/core/src/EntityManager.ts:145
â–¸ addFilter<T1, T2>(name
: string, cond
: { __@PrimaryKeyType@41543?
: any } | NonNullable<Query<T1>> | NonNullable<Query<T2>> | (args
: Dictionary<any>) => FilterQuery<T1 | T2>, entityName?
: [EntityName<T1>, EntityName<T2>], enabled?
: boolean): void
Registers global filter to this entity manager. Global filters are enabled by default (unless disabled via last parameter).
#
Type parameters:Name | Type |
---|---|
T1 | AnyEntity<T1> |
T2 | AnyEntity<T2> |
#
Parameters:Name | Type |
---|---|
name | string |
cond | { __@PrimaryKeyType@41543? : any } | NonNullable<Query<T1>> | NonNullable<Query<T2>> | (args : Dictionary<any>) => FilterQuery<T1 | T2> |
entityName? | [EntityName<T1>, EntityName<T2>] |
enabled? | boolean |
Returns: void
Defined in: packages/core/src/EntityManager.ts:150
â–¸ addFilter<T1, T2, T3>(name
: string, cond
: { __@PrimaryKeyType@41543?
: any } | NonNullable<Query<T1>> | NonNullable<Query<T2>> | NonNullable<Query<T3>> | (args
: Dictionary<any>) => FilterQuery<T1 | T2 | T3>, entityName?
: [EntityName<T1>, EntityName<T2>, EntityName<T3>], enabled?
: boolean): void
Registers global filter to this entity manager. Global filters are enabled by default (unless disabled via last parameter).
#
Type parameters:Name | Type |
---|---|
T1 | AnyEntity<T1> |
T2 | AnyEntity<T2> |
T3 | AnyEntity<T3> |
#
Parameters:Name | Type |
---|---|
name | string |
cond | { __@PrimaryKeyType@41543? : any } | NonNullable<Query<T1>> | NonNullable<Query<T2>> | NonNullable<Query<T3>> | (args : Dictionary<any>) => FilterQuery<T1 | T2 | T3> |
entityName? | [EntityName<T1>, EntityName<T2>, EntityName<T3>] |
enabled? | boolean |
Returns: void
Defined in: packages/core/src/EntityManager.ts:155
#
applyDiscriminatorConditionâ–¸ Protected
applyDiscriminatorCondition<T>(entityName
: string, where
: FilterQuery<T>): FilterQuery<T>
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | string |
where | FilterQuery<T> |
Returns: FilterQuery<T>
Defined in: packages/core/src/EntityManager.ts:193
#
applyFiltersâ–¸ Protected
applyFilters<T>(entityName
: string, where
: FilterQuery<T>, options
: boolean | string[] | Dictionary<boolean | Dictionary<any>>, type
: read | update | delete): Promise<FilterQuery<T>>
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | string |
where | FilterQuery<T> |
options | boolean | string[] | Dictionary<boolean | Dictionary<any>> |
type | read | update | delete |
Returns: Promise<FilterQuery<T>>
Defined in: packages/core/src/EntityManager.ts:205
#
assignâ–¸ assign<T>(entity
: T, data
: EntityData<T>, options?
: AssignOptions): T
Shortcut for wrap(entity).assign(data, { em })
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type | Default value |
---|---|---|
entity | T | - |
data | EntityData<T> | - |
options | AssignOptions | ... |
Returns: T
Defined in: packages/core/src/EntityManager.ts:532
#
beginâ–¸ begin(ctx?
: any): Promise<void>
Starts new transaction bound to this EntityManager. Use ctx
parameter to provide the parent when nesting transactions.
#
Parameters:Name | Type |
---|---|
ctx? | any |
Returns: Promise<void>
Defined in: packages/core/src/EntityManager.ts:381
#
canPopulateâ–¸ canPopulate<T>(entityName
: EntityName<T>, property
: string): boolean
Checks whether given property can be populated on the entity.
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
property | string |
Returns: boolean
Defined in: packages/core/src/EntityManager.ts:698
#
checkLockRequirementsâ–¸ Private
checkLockRequirements(mode
: undefined | NONE | OPTIMISTIC | PESSIMISTIC_READ | PESSIMISTIC_WRITE, meta
: EntityMetadata<any>): void
#
Parameters:Name | Type |
---|---|
mode | undefined | NONE | OPTIMISTIC | PESSIMISTIC_READ | PESSIMISTIC_WRITE |
meta | EntityMetadata<any> |
Returns: void
Defined in: packages/core/src/EntityManager.ts:829
#
clearâ–¸ clear(): void
Clears the EntityManager. All entities that are currently managed by this EntityManager become detached.
Returns: void
Defined in: packages/core/src/EntityManager.ts:691
#
commitâ–¸ commit(): Promise<void>
Commits the transaction bound to this EntityManager. Flushes before doing the actual commit query.
Returns: Promise<void>
Defined in: packages/core/src/EntityManager.ts:388
#
countâ–¸ count<T>(entityName
: EntityName<T>, where?
: FilterQuery<T>, options?
: CountOptions<T>): Promise<number>
Returns total number of entities matching your where
query.
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type | Default value |
---|---|---|
entityName | EntityName<T> | - |
where | FilterQuery<T> | ... |
options | CountOptions<T> | ... |
Returns: Promise<number>
Defined in: packages/core/src/EntityManager.ts:582
#
createâ–¸ create<T, P>(entityName
: EntityName<T>, data
: EntityData<T>, options?
: { managed?
: undefined | boolean }): Loaded<T, P>
Creates new instance of given entity and populates it with given data
#
Type parameters:Name | Type | Default |
---|---|---|
T | AnyEntity<T> | - |
P | Populate<T> | any |
#
Parameters:Name | Type | Default value |
---|---|---|
entityName | EntityName<T> | - |
data | EntityData<T> | - |
options | { managed? : undefined | boolean } | ... |
Returns: Loaded<T, P>
Defined in: packages/core/src/EntityManager.ts:525
#
findâ–¸ find<T, P>(entityName
: EntityName<T>, where
: FilterQuery<T>, options?
: FindOptions<T, P>): Promise<Loaded<T, P>[]>
Finds all entities matching your where
query. You can pass additional options via the options
parameter.
#
Type parameters:Name | Type | Default |
---|---|---|
T | AnyEntity<T> | - |
P | Populate<T> | any |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
where | FilterQuery<T> |
options? | FindOptions<T, P> |
Returns: Promise<Loaded<T, P>[]>
Defined in: packages/core/src/EntityManager.ts:88
â–¸ find<T, P>(entityName
: EntityName<T>, where
: FilterQuery<T>, populate?
: P, orderBy?
: QueryOrderMap, limit?
: number, offset?
: number): Promise<Loaded<T, P>[]>
Finds all entities matching your where
query.
#
Type parameters:Name | Type | Default |
---|---|---|
T | AnyEntity<T> | - |
P | Populate<T> | any |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
where | FilterQuery<T> |
populate? | P |
orderBy? | QueryOrderMap |
limit? | number |
offset? | number |
Returns: Promise<Loaded<T, P>[]>
Defined in: packages/core/src/EntityManager.ts:93
#
findAndCountâ–¸ findAndCount<T, P>(entityName
: EntityName<T>, where
: FilterQuery<T>, options?
: FindOptions<T, P>): Promise<[Loaded<T, P>[], number]>
Calls em.find()
and em.count()
with the same arguments (where applicable) and returns the results as tuple
where first element is the array of entities and the second is the count.
#
Type parameters:Name | Type | Default |
---|---|---|
T | AnyEntity<T> | - |
P | Populate<T> | any |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
where | FilterQuery<T> |
options? | FindOptions<T, P> |
Returns: Promise<[Loaded<T, P>[], number]>
Defined in: packages/core/src/EntityManager.ts:248
â–¸ findAndCount<T, P>(entityName
: EntityName<T>, where
: FilterQuery<T>, populate?
: P, orderBy?
: QueryOrderMap, limit?
: number, offset?
: number): Promise<[Loaded<T, P>[], number]>
Calls em.find()
and em.count()
with the same arguments (where applicable) and returns the results as tuple
where first element is the array of entities and the second is the count.
#
Type parameters:Name | Type | Default |
---|---|---|
T | AnyEntity<T> | - |
P | Populate<T> | any |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
where | FilterQuery<T> |
populate? | P |
orderBy? | QueryOrderMap |
limit? | number |
offset? | number |
Returns: Promise<[Loaded<T, P>[], number]>
Defined in: packages/core/src/EntityManager.ts:254
#
findOneâ–¸ findOne<T, P>(entityName
: EntityName<T>, where
: FilterQuery<T>, options?
: FindOneOptions<T, P>): Promise<null | Loaded<T, P>>
Finds first entity matching your where
query.
#
Type parameters:Name | Type | Default |
---|---|---|
T | AnyEntity<T> | - |
P | Populate<T> | any |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
where | FilterQuery<T> |
options? | FindOneOptions<T, P> |
Returns: Promise<null | Loaded<T, P>>
Defined in: packages/core/src/EntityManager.ts:273
â–¸ findOne<T, P>(entityName
: EntityName<T>, where
: FilterQuery<T>, populate?
: P, orderBy?
: QueryOrderMap): Promise<null | Loaded<T, P>>
Finds first entity matching your where
query.
#
Type parameters:Name | Type | Default |
---|---|---|
T | AnyEntity<T> | - |
P | Populate<T> | any |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
where | FilterQuery<T> |
populate? | P |
orderBy? | QueryOrderMap |
Returns: Promise<null | Loaded<T, P>>
Defined in: packages/core/src/EntityManager.ts:278
#
findOneOrFailâ–¸ findOneOrFail<T, P>(entityName
: EntityName<T>, where
: FilterQuery<T>, options?
: FindOneOrFailOptions<T, P>): Promise<Loaded<T, P>>
Finds first entity matching your where
query. If nothing found, it will throw an error.
You can override the factory for creating this method via options.failHandler
locally
or via Configuration.findOneOrFailHandler
globally.
#
Type parameters:Name | Type | Default |
---|---|---|
T | AnyEntity<T> | - |
P | Populate<T> | any |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
where | FilterQuery<T> |
options? | FindOneOrFailOptions<T, P> |
Returns: Promise<Loaded<T, P>>
Defined in: packages/core/src/EntityManager.ts:334
â–¸ findOneOrFail<T, P>(entityName
: EntityName<T>, where
: FilterQuery<T>, populate?
: P, orderBy?
: QueryOrderMap): Promise<Loaded<T, P>>
Finds first entity matching your where
query. If nothing found, it will throw an error.
You can override the factory for creating this method via options.failHandler
locally
or via Configuration.findOneOrFailHandler
globally.
#
Type parameters:Name | Type | Default |
---|---|---|
T | AnyEntity<T> | - |
P | Populate<T> | any |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
where | FilterQuery<T> |
populate? | P |
orderBy? | QueryOrderMap |
Returns: Promise<Loaded<T, P>>
Defined in: packages/core/src/EntityManager.ts:341
#
flushâ–¸ flush(): Promise<void>
Flushes all changes to objects that have been queued up to now to the database. This effectively synchronizes the in-memory state of managed objects with the database.
Returns: Promise<void>
Defined in: packages/core/src/EntityManager.ts:684
#
forkâ–¸ fork(clear?
: boolean, useContext?
: boolean): D[typeof EntityManagerType]
Returns new EntityManager instance with its own identity map
#
Parameters:Name | Type | Default value | Description |
---|---|---|---|
clear | boolean | true | do we want clear identity map? defaults to true |
useContext | boolean | false | use request context? should be used only for top level request scope EM, defaults to false |
Returns: D[typeof EntityManagerType]
Defined in: packages/core/src/EntityManager.ts:755
#
getComparatorâ–¸ getComparator(): EntityComparator
Gets the EntityComparator.
Returns: EntityComparator
Defined in: packages/core/src/EntityManager.ts:825
#
getConnectionâ–¸ getConnection(type?
: read | write): ReturnType<D[getConnection]>
Gets the Connection instance, by default returns write connection
#
Parameters:Name | Type |
---|---|
type? | read | write |
Returns: ReturnType<D[getConnection]>
Defined in: packages/core/src/EntityManager.ts:52
#
getContextâ–¸ getContext(): EntityManager<IDatabaseDriver<Connection>>
Gets the EntityManager based on current transaction/request context.
Returns: EntityManager<IDatabaseDriver<Connection>>
Defined in: packages/core/src/EntityManager.ts:786
#
getDriverâ–¸ getDriver(): D
Gets the Driver instance used by this EntityManager. Driver is singleton, for one MikroORM instance, only one driver is created.
Returns: D
Defined in: packages/core/src/EntityManager.ts:45
#
getEntityFactoryâ–¸ getEntityFactory(): EntityFactory
Gets the EntityFactory used by the EntityManager.
Returns: EntityFactory
Defined in: packages/core/src/EntityManager.ts:779
#
getEventManagerâ–¸ getEventManager(): EventManager
Returns: EventManager
Defined in: packages/core/src/EntityManager.ts:797
#
getFilterParamsâ–¸ getFilterParams<T>(name
: string): T
Returns filter parameters for given filter set in this context.
#
Type parameters:Name | Type | Default |
---|---|---|
T | Dictionary<any> | Dictionary<any\> |
#
Parameters:Name | Type |
---|---|
name | string |
Returns: T
Defined in: packages/core/src/EntityManager.ts:181
#
getMetadataâ–¸ getMetadata(): MetadataStorage
Gets the MetadataStorage.
Returns: MetadataStorage
Defined in: packages/core/src/EntityManager.ts:818
#
getPlatformâ–¸ getPlatform(): ReturnType<D[getPlatform]>
Gets the platform instance. Just like the driver, platform is singleton, one for a MikroORM instance.
Returns: ReturnType<D[getPlatform]>
Defined in: packages/core/src/EntityManager.ts:59
#
getReferenceâ–¸ getReference<T, PK>(entityName
: EntityName<T>, id
: Primary<T>, wrapped
: true, convertCustomTypes?
: boolean): IdentifiedReference<T, PK>
Gets a reference to the entity identified by the given type and identifier without actually loading it, if the entity is not yet loaded
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
PK | string | number | symbol |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
id | Primary<T> |
wrapped | true |
convertCustomTypes? | boolean |
Returns: IdentifiedReference<T, PK>
Defined in: packages/core/src/EntityManager.ts:539
â–¸ getReference<T>(entityName
: EntityName<T>, id
: Primary<T> | Primary<T>[]): T
Gets a reference to the entity identified by the given type and identifier without actually loading it, if the entity is not yet loaded
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
id | Primary<T> | Primary<T>[] |
Returns: T
Defined in: packages/core/src/EntityManager.ts:544
â–¸ getReference<T>(entityName
: EntityName<T>, id
: Primary<T>, wrapped
: false, convertCustomTypes?
: boolean): T
Gets a reference to the entity identified by the given type and identifier without actually loading it, if the entity is not yet loaded
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
id | Primary<T> |
wrapped | false |
convertCustomTypes? | boolean |
Returns: T
Defined in: packages/core/src/EntityManager.ts:549
â–¸ getReference<T>(entityName
: EntityName<T>, id
: Primary<T>, wrapped?
: boolean, convertCustomTypes?
: boolean): T | Reference<T>
Gets a reference to the entity identified by the given type and identifier without actually loading it, if the entity is not yet loaded
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
id | Primary<T> |
wrapped? | boolean |
convertCustomTypes? | boolean |
Returns: T | Reference<T>
Defined in: packages/core/src/EntityManager.ts:554
#
getRepositoryâ–¸ getRepository<T, U>(entityName
: EntityName<T>): GetRepository<T, U>
Gets repository for given entity. You can pass either string name or entity class reference.
#
Type parameters:Name | Type | Default |
---|---|---|
T | AnyEntity<T> | - |
U | EntityRepository<T, U> | EntityRepository<T\> |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
Returns: GetRepository<T, U>
Defined in: packages/core/src/EntityManager.ts:66
#
getTransactionContextâ–¸ getTransactionContext<T>(): undefined | T
Gets the transaction context (driver dependent object used to make sure queries are executed on same connection).
#
Type parameters:Name | Type | Default |
---|---|---|
T | unknown | any |
Returns: undefined | T
Defined in: packages/core/src/EntityManager.ts:811
#
getUnitOfWorkâ–¸ getUnitOfWork(): UnitOfWork
Gets the UnitOfWork used by the EntityManager to coordinate operations.
Returns: UnitOfWork
Defined in: packages/core/src/EntityManager.ts:772
#
getValidatorâ–¸ getValidator(): EntityValidator
Gets EntityValidator instance
Returns: EntityValidator
Defined in: packages/core/src/EntityManager.ts:81
#
isInTransactionâ–¸ isInTransaction(): boolean
Checks whether this EntityManager is currently operating inside a database transaction.
Returns: boolean
Defined in: packages/core/src/EntityManager.ts:804
#
lockâ–¸ lock(entity
: AnyEntity<any>, lockMode
: LockMode, lockVersion?
: number | Date): Promise<void>
Runs your callback wrapped inside a database transaction.
#
Parameters:Name | Type |
---|---|
entity | AnyEntity<any> |
lockMode | LockMode |
lockVersion? | number | Date |
Returns: Promise<void>
Defined in: packages/core/src/EntityManager.ts:405
#
lockAndPopulateâ–¸ Private
lockAndPopulate<T, P>(entityName
: string, entity
: T, where
: FilterQuery<T>, options
: FindOneOptions<T, Populate<T>>): Promise<Loaded<T, P>>
#
Type parameters:Name | Type | Default |
---|---|---|
T | AnyEntity<T> | - |
P | Populate<T> | any |
#
Parameters:Name | Type |
---|---|
entityName | string |
entity | T |
where | FilterQuery<T> |
options | FindOneOptions<T, Populate<T>> |
Returns: Promise<Loaded<T, P>>
Defined in: packages/core/src/EntityManager.ts:843
#
mapâ–¸ map<T>(entityName
: EntityName<T>, result
: EntityData<T>): T
Maps raw database result to an entity and merges it to this EntityManager.
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
result | EntityData<T> |
Returns: T
Defined in: packages/core/src/EntityManager.ts:468
#
mergeâ–¸ merge<T>(entity
: T, refresh?
: boolean): T
Merges given entity to this EntityManager so it becomes managed. You can force refreshing of existing entities via second parameter. By default it will return already loaded entities without modifying them.
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entity | T |
refresh? | boolean |
Returns: T
Defined in: packages/core/src/EntityManager.ts:487
â–¸ merge<T>(entityName
: EntityName<T>, data
: EntityData<T>, refresh?
: boolean, convertCustomTypes?
: boolean): T
Merges given entity to this EntityManager so it becomes managed. You can force refreshing of existing entities via second parameter. By default it will return already loaded entities without modifying them.
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
data | EntityData<T> |
refresh? | boolean |
convertCustomTypes? | boolean |
Returns: T
Defined in: packages/core/src/EntityManager.ts:493
#
nativeDeleteâ–¸ nativeDelete<T>(entityName
: EntityName<T>, where
: FilterQuery<T>, options?
: DeleteOptions<T>): Promise<number>
Fires native delete query. Calling this has no side effects on the context (identity map).
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type | Default value |
---|---|---|
entityName | EntityName<T> | - |
where | FilterQuery<T> | - |
options | DeleteOptions<T> | ... |
Returns: Promise<number>
Defined in: packages/core/src/EntityManager.ts:456
#
nativeInsertâ–¸ nativeInsert<T>(entity
: T): Promise<Primary<T>>
Fires native insert query. Calling this has no side effects on the context (identity map).
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entity | T |
Returns: Promise<Primary<T>>
Defined in: packages/core/src/EntityManager.ts:412
â–¸ nativeInsert<T>(entityName
: EntityName<T>, data
: EntityData<T>): Promise<Primary<T>>
Fires native insert query. Calling this has no side effects on the context (identity map).
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | EntityName<T> |
data | EntityData<T> |
Returns: Promise<Primary<T>>
Defined in: packages/core/src/EntityManager.ts:417
#
nativeUpdateâ–¸ nativeUpdate<T>(entityName
: EntityName<T>, where
: FilterQuery<T>, data
: EntityData<T>, options?
: UpdateOptions<T>): Promise<number>
Fires native update query. Calling this has no side effects on the context (identity map).
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type | Default value |
---|---|---|
entityName | EntityName<T> | - |
where | FilterQuery<T> | - |
data | EntityData<T> | - |
options | UpdateOptions<T> | ... |
Returns: Promise<number>
Defined in: packages/core/src/EntityManager.ts:442
#
persistâ–¸ persist(entity
: AnyEntity<any> | Reference<AnyEntity<any>> | (AnyEntity<any> | Reference<AnyEntity<any>>)[]): EntityManager<D>
Tells the EntityManager to make an instance managed and persistent. The entity will be entered into the database at or before transaction commit or as a result of the flush operation.
#
Parameters:Name | Type |
---|---|
entity | AnyEntity<any> | Reference<AnyEntity<any>> | (AnyEntity<any> | Reference<AnyEntity<any>>)[] |
Returns: EntityManager<D>
Defined in: packages/core/src/EntityManager.ts:603
#
persistAndFlushâ–¸ persistAndFlush(entity
: AnyEntity<any> | Reference<AnyEntity<any>> | (AnyEntity<any> | Reference<AnyEntity<any>>)[]): Promise<void>
Persists your entity immediately, flushing all not yet persisted changes to the database too.
Equivalent to em.persist(e).flush()
.
#
Parameters:Name | Type |
---|---|
entity | AnyEntity<any> | Reference<AnyEntity<any>> | (AnyEntity<any> | Reference<AnyEntity<any>>)[] |
Returns: Promise<void>
Defined in: packages/core/src/EntityManager.ts:628
#
persistLaterâ–¸ persistLater(entity
: AnyEntity<any> | AnyEntity<any>[]): void
Tells the EntityManager to make an instance managed and persistent. The entity will be entered into the database at or before transaction commit or as a result of the flush operation.
deprecated
use persist()
#
Parameters:Name | Type |
---|---|
entity | AnyEntity<any> | AnyEntity<any>[] |
Returns: void
Defined in: packages/core/src/EntityManager.ts:638
#
populateâ–¸ populate<T, P>(entities
: T, populate
: P, where?
: { __@PrimaryKeyType@41543?
: any } | NonNullable<Query<T>>, orderBy?
: QueryOrderMap, refresh?
: boolean, validate?
: boolean): Promise<Loaded<T, P>>
Loads specified relations in batch. This will execute one query for each relation, that will populate it on all of the specified entities.
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
P | string | number | boolean | symbol | readonly string[] | readonly keyof T[] | PopulateChildren<T> |
#
Parameters:Name | Type |
---|---|
entities | T |
populate | P |
where? | { __@PrimaryKeyType@41543? : any } | NonNullable<Query<T>> |
orderBy? | QueryOrderMap |
refresh? | boolean |
validate? | boolean |
Returns: Promise<Loaded<T, P>>
Defined in: packages/core/src/EntityManager.ts:718
â–¸ populate<T, P>(entities
: T[], populate
: P, where?
: { __@PrimaryKeyType@41543?
: any } | NonNullable<Query<T>>, orderBy?
: QueryOrderMap, refresh?
: boolean, validate?
: boolean): Promise<Loaded<T, P>[]>
Loads specified relations in batch. This will execute one query for each relation, that will populate it on all of the specified entities.
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
P | string | number | boolean | symbol | readonly string[] | readonly keyof T[] | PopulateChildren<T> |
#
Parameters:Name | Type |
---|---|
entities | T[] |
populate | P |
where? | { __@PrimaryKeyType@41543? : any } | NonNullable<Query<T>> |
orderBy? | QueryOrderMap |
refresh? | boolean |
validate? | boolean |
Returns: Promise<Loaded<T, P>[]>
Defined in: packages/core/src/EntityManager.ts:723
â–¸ populate<T, P>(entities
: T | T[], populate
: P, where?
: { __@PrimaryKeyType@41543?
: any } | NonNullable<Query<T>>, orderBy?
: QueryOrderMap, refresh?
: boolean, validate?
: boolean): Promise<Loaded<T, P> | Loaded<T, P>[]>
Loads specified relations in batch. This will execute one query for each relation, that will populate it on all of the specified entities.
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
P | string | number | boolean | symbol | readonly string[] | readonly keyof T[] | PopulateChildren<T> |
#
Parameters:Name | Type |
---|---|
entities | T | T[] |
populate | P |
where? | { __@PrimaryKeyType@41543? : any } | NonNullable<Query<T>> |
orderBy? | QueryOrderMap |
refresh? | boolean |
validate? | boolean |
Returns: Promise<Loaded<T, P> | Loaded<T, P>[]>
Defined in: packages/core/src/EntityManager.ts:728
#
preparePopulateâ–¸ Private
preparePopulate<T>(entityName
: string, populate?
: boolean | readonly string[] | SELECT_IN | JOINED | readonly keyof T[] | PopulateChildren<T>, strategy?
: SELECT_IN | JOINED): PopulateOptions<T>[]
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | string |
populate? | boolean | readonly string[] | SELECT_IN | JOINED | readonly keyof T[] | PopulateChildren<T> |
strategy? | SELECT_IN | JOINED |
Returns: PopulateOptions<T>[]
Defined in: packages/core/src/EntityManager.ts:854
#
preparePopulateObjectâ–¸ Private
preparePopulateObject<T>(meta
: EntityMetadata<T>, populate
: PopulateMap<T>, strategy?
: SELECT_IN | JOINED): PopulateOptions<T>[]
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
meta | EntityMetadata<T> |
populate | PopulateMap<T> |
strategy? | SELECT_IN | JOINED |
Returns: PopulateOptions<T>[]
Defined in: packages/core/src/EntityManager.ts:883
#
processWhereâ–¸ Protected
processWhere<T>(entityName
: string, where
: FilterQuery<T>, options
: FindOptions<T, Populate<T>>, type
: read | update | delete): Promise<FilterQuery<T>>
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entityName | string |
where | FilterQuery<T> |
options | FindOptions<T, Populate<T>> |
type | read | update | delete |
Returns: Promise<FilterQuery<T>>
Defined in: packages/core/src/EntityManager.ts:185
#
removeâ–¸ remove<T>(entity
: T | Reference<T> | (T | Reference<T>)[]): EntityManager<D>
Marks entity for removal. A removed entity will be removed from the database at or before transaction commit or as a result of the flush operation.
To remove entities by condition, use em.nativeDelete()
.
#
Type parameters:Name | Type |
---|---|
T | AnyEntity<T> |
#
Parameters:Name | Type |
---|---|
entity | T | Reference<T> | (T | Reference<T>)[] |
Returns: EntityManager<D>
Defined in: packages/core/src/EntityManager.ts:648
#
removeAndFlushâ–¸ removeAndFlush(entity
: AnyEntity<any> | Reference<AnyEntity<any>>): Promise<void>
Removes an entity instance immediately, flushing all not yet persisted changes to the database too.
Equivalent to em.remove(e).flush()
#
Parameters:Name | Type |
---|---|
entity | AnyEntity<any> | Reference<AnyEntity<any>> |
Returns: Promise<void>
Defined in: packages/core/src/EntityManager.ts:666
#
removeLaterâ–¸ removeLater(entity
: AnyEntity<any>): void
Marks entity for removal. A removed entity will be removed from the database at or before transaction commit or as a result of the flush operation.
deprecated
use remove()
#
Parameters:Name | Type |
---|---|
entity | AnyEntity<any> |
Returns: void
Defined in: packages/core/src/EntityManager.ts:676
#
rollbackâ–¸ rollback(): Promise<void>
Rollbacks the transaction bound to this EntityManager.
Returns: Promise<void>
Defined in: packages/core/src/EntityManager.ts:397
#
setFilterParamsâ–¸ setFilterParams(name
: string, args
: Dictionary<any>): void
Sets filter parameter values globally inside context defined by this entity manager. If you want to set shared value for all contexts, be sure to use the root entity manager.
#
Parameters:Name | Type |
---|---|
name | string |
args | Dictionary<any> |
Returns: void
Defined in: packages/core/src/EntityManager.ts:174
#
storeCacheâ–¸ storeCache(config
: undefined | number | boolean | [string, number], key
: { key
: string }, data
: unknown): Promise<void>
internal
#
Parameters:Name | Type |
---|---|
config | undefined | number | boolean | [string, number] |
key | { key : string } |
data | unknown |
Returns: Promise<void>
Defined in: packages/core/src/EntityManager.ts:932
#
transactionalâ–¸ transactional<T>(cb
: (em
: D[typeof EntityManagerType]) => Promise<T>, ctx?
: any): Promise<T>
Runs your callback wrapped inside a database transaction.
#
Type parameters:Name |
---|
T |
#
Parameters:Name | Type | Default value |
---|---|---|
cb | (em : D[typeof EntityManagerType]) => Promise<T> | - |
ctx | any | ... |
Returns: Promise<T>
Defined in: packages/core/src/EntityManager.ts:364
#
tryCacheâ–¸ tryCache<T, R>(entityName
: string, config
: undefined | number | boolean | [string, number], key
: unknown, refresh?
: boolean, merge?
: boolean): Promise<undefined | { data?
: undefined | R ; key
: string }>
internal
#
Type parameters:Name |
---|
T |
R |
#
Parameters:Name | Type |
---|---|
entityName | string |
config | undefined | number | boolean | [string, number] |
key | unknown |
refresh? | boolean |
merge? | boolean |
Returns: Promise<undefined | { data?
: undefined | R ; key
: string }>
Defined in: packages/core/src/EntityManager.ts:904