Skip to content

VOCABULARY

TypeORM NestJS Guide - Vocabulary & Glossary

Section titled “TypeORM NestJS Guide - Vocabulary & Glossary”

This document provides a comprehensive glossary of TypeORM, NestJS, TypeScript, and database terms used throughout this guide.


  1. TypeORM Core Terms
  2. Entity & Column Terms
  3. Relationship Terms
  4. Query & Repository Terms
  5. NestJS Framework Terms
  6. TypeScript Terms
  7. Database Terms
  8. Transaction & Locking Terms
  9. Security & Authentication Terms
  10. Performance & Optimization Terms
  11. Testing Terms
  12. Deployment & DevOps Terms

TermFull FormDescription
ORMObject-Relational MappingTechnique for converting between database and object-oriented code
TypeORMTypeScript ORMORM framework for TypeScript and JavaScript
DataSourceDataSourceMain connection manager in TypeORM
EntityEntityClass that maps to a database table
RepositoryRepositoryPattern for data access abstraction
EntityManagerEntityManagerInterface for database operations on entities
QueryBuilderQueryBuilderFluent API for building complex SQL queries
MigrationMigrationVersion control for database schema changes
SubscriberSubscriberEvent listener for entity lifecycle events
CLICommand Line InterfaceTypeORM’s command-line tool

TermFull FormDescription
@EntityDecoratorDecorator that marks a class as a database entity
@ColumnDecoratorDecorator that marks a property as a database column
@PrimaryColumnPrimary ColumnDecorator for manually defined primary key
@PrimaryGeneratedColumnGenerated Primary ColumnDecorator for auto-generated primary key
@PrimaryGeneratedColumn(‘uuid’)UUID PrimaryAuto-generated UUID as primary key
@PrimaryGeneratedColumn(‘increment’)Auto-increment PrimaryAuto-incrementing integer primary key
@CreateDateColumnCreate Date ColumnAuto-set creation timestamp column
@UpdateDateColumnUpdate Date ColumnAuto-update timestamp column
@DeleteDateColumnDelete Date ColumnSoft delete timestamp column
@VersionColumnVersion ColumnOptimistic locking version field
@IndexIndexDatabase index decorator
@UniqueUnique ConstraintUnique constraint decorator
@CheckCheck ConstraintCustom check constraint decorator
EmbeddedEmbedded EntityEntity embedded in another entity
@VirtualColumnVirtual ColumnNon-persisted computed column

TermFull FormDescription
@OneToOneOne-to-OneSingle entity relation to another entity
@OneToManyOne-to-ManySingle entity relates to multiple entities
@ManyToOneMany-to-OneMultiple entities relate to single entity
@ManyToManyMany-to-ManyMultiple entities relate to multiple entities
@JoinColumnJoin ColumnForeign key column definition
@JoinTableJoin TableJunction table for many-to-many relations
Eager LoadingEager LoadingAuto-load relations with parent entity
Lazy LoadingLazy LoadingLoad relations on-demand (Promise-based)
RelationIdRelation IDLoad only foreign key values
Inverse SideInverse SideThe “other” side of a relationship
Owning SideOwning SideThe side that owns the foreign key
CascadeCascadeAuto-propagate operations to related entities
Orphan RemovalOrphan RemovalRemove orphaned related entities

TermFull FormDescription
Find OptionsFind OptionsConfiguration object for find operations
FindOneOptionsFind One OptionsOptions for findOne/findOneBy methods
FindManyOptionsFind Many OptionsOptions for find method
SelectQueryBuilderSelect Query BuilderBuilder for SELECT queries
InsertQueryBuilderInsert Query BuilderBuilder for INSERT queries
UpdateQueryBuilderUpdate Query BuilderBuilder for UPDATE queries
DeleteQueryBuilderDelete Query BuilderBuilder for DELETE queries
SubquerySubqueryQuery nested within another query
Raw QueryRaw QueryDirect SQL execution
Parameterized QueryParameterized QuerySQL with placeholders for values
N+1 ProblemN+1 ProblemQuery pattern causing performance issues
Eager RelationEager RelationAutomatically loaded relationship
Lazy RelationLazy RelationOn-demand loaded relationship
PaginationPaginationDividing results into pages
Cursor PaginationCursor PaginationPagination using last item as cursor
Offset PaginationOffset PaginationPagination using skip/take

TermFull FormDescription
NestJSNestJSProgressive Node.js framework
ModuleModuleOrganization unit that groups related code
ControllerControllerHandles incoming HTTP requests
ServiceServiceBusiness logic layer
ProviderProviderInjectable class (Service, Repository, etc.)
InjectableInjectableDecorator marking a class as injectable
InjectInjectDecorator for dependency injection
@ModuleModule DecoratorDecorator for defining NestJS modules
@ControllerController DecoratorDecorator for defining controllers
@ServiceService DecoratorDecorator for defining services
@GetGET DecoratorDecorator for GET HTTP method
@PostPOST DecoratorDecorator for POST HTTP method
@PutPUT DecoratorDecorator for PUT HTTP method
@DeleteDELETE DecoratorDecorator for DELETE HTTP method
@PatchPATCH DecoratorDecorator for PATCH HTTP method
@BodyBody DecoratorExtract request body
@ParamParam DecoratorExtract route parameters
@QueryQuery DecoratorExtract query parameters
@HeadersHeaders DecoratorExtract request headers
GuardGuardAuthorization/permission check
InterceptorInterceptorTransform request/response
PipePipeTransform/validate input data
FilterFilterException handling
MiddlewareMiddlewareRequest/response preprocessing
DTOData Transfer ObjectObject for transferring data between layers
@InjectableInjectable DecoratorDecorator marking class as injectable
ForwardRefForward ReferenceHandle circular dependencies

TermFull FormDescription
TypeScriptTypeScriptTyped superset of JavaScript
TSTypeScriptShort form for TypeScript
TypeTypeType annotation in TypeScript
InterfaceInterfaceBlueprint for object structure
ClassClassBlueprint for creating objects
EnumEnumerationSet of named constant values
GenericGenericParameterized type
DecoratorDecoratorSpecial declaration attaching metadata
Type GuardType GuardRuntime type checking
Union TypeUnion TypeMultiple possible types
IntersectionIntersectionCombining types
OptionalOptionalNullable/undefined type
NeverNever TypeType that never occurs
AnyAny TypeOpt-out of type checking
UnknownUnknown TypeType-safe any
VoidVoidNo return value
NeverNeverFunction that never returns
Arrow FunctionArrow FunctionShort function syntax (=>)
Async/AwaitAsync/AwaitAsynchronous code syntax
PromisePromiseRepresents eventual completion
AwaitAwaitPauses execution for Promise
PartialPartialMakes all properties optional
RequiredRequiredMakes all properties required
ReadonlyReadonlyMakes properties immutable
PickPickSelect specific properties
OmitOmitExclude specific properties

TermFull FormDescription
SQLStructured Query LanguageLanguage for managing relational databases
RDBMSRelational Database Management SystemSoftware for managing relational databases
PostgreSQLPostgreSQLAdvanced open-source RDBMS
MySQLMySQLPopular open-source RDBMS
MariaDBMariaDBMySQL fork
SQLiteSQLiteEmbedded database
TableTableCollection of related data in rows/columns
RowRowSingle record in a table
ColumnColumnAttribute in a table
Primary KeyPrimary KeyUnique identifier for each row
Foreign KeyForeign KeyReference to another table’s primary key
IndexIndexData structure for fast lookups
Unique IndexUnique IndexIndex enforcing uniqueness
Composite IndexComposite IndexIndex on multiple columns
ConstraintConstraintRule enforced on data
NULLNULLMissing or unknown value
ACIDAtomicity, Consistency, Isolation, DurabilityDatabase transaction properties
NormalizationNormalizationOrganizing data to reduce redundancy
DenormalizationDenormalizationAdding redundancy for performance
SchemaSchemaDatabase structure definition
MigrationMigrationDatabase version control
ViewViewVirtual table based on query
Stored ProcedureStored ProcedurePrecompiled SQL code
TriggerTriggerAutomated action on events
FunctionFunctionReusable SQL code
CTECommon Table ExpressionTemporary named result set
JOINJOINCombine rows from tables
INNER JOINInner JoinMatched rows from both tables
LEFT JOINLeft JoinAll rows from left + matched right
RIGHT JOINRight JoinAll rows from right + matched left
FULL OUTERFull Outer JoinAll rows from both tables
Self JoinSelf JoinTable joined with itself
Cross JoinCross JoinCartesian product

TermFull FormDescription
TransactionTransactionAtomic database operation unit
ACIDACIDAtomicity, Consistency, Isolation, Durability
AtomicityAtomicityAll or nothing operation
ConsistencyConsistencyValid state after transaction
IsolationIsolationConcurrent transaction independence
DurabilityDurabilityPersisted after commit
CommitCommitSave transaction changes
RollbackRollbackUndo transaction changes
SavepointSavepointPartial rollback point
Isolation LevelIsolation LevelTransaction concurrency control
Dirty ReadDirty ReadReading uncommitted data
Non-repeatable ReadNon-repeatable ReadDifferent results on re-read
Phantom ReadPhantom ReadNew rows appear on re-read
Pessimistic LockPessimistic LockLock before reading
Optimistic LockOptimistic LockLock on update attempt
Lock ModeLock ModeType of database lock
Row LockRow LockLock on specific row
Table LockTable LockLock on entire table
DeadlockDeadlockTwo transactions waiting indefinitely
Transaction ManagerTransaction ManagerHandles transaction lifecycle
@TransactionalTransactional DecoratorAuto-transaction wrapper

TermFull FormDescription
JWTJSON Web TokenCompact, URL-safe token format
Access TokenAccess TokenShort-lived authorization token
Refresh TokenRefresh TokenLong-lived token for new access tokens
Bearer TokenBearer TokenToken sent in Authorization header
OAuthOAuthAuthorization framework
OAuth 2.0OAuth 2.0OAuth protocol version
OpenIDOpenIDAuthentication protocol
SSOSingle Sign-OnOne login for multiple services
Password HashingPassword HashingOne-way encryption for passwords
bcryptbcryptPassword hashing algorithm
Argon2Argon2Modern password hashing algorithm
SaltSaltRandom data added before hashing
Rainbow TableRainbow TablePre-computed hash lookup table
RBACRole-Based Access ControlAccess based on user roles
ABACAttribute-Based Access ControlAccess based on attributes
CORSCross-Origin Resource SharingCross-origin request policy
CSRFCross-Site Request ForgeryAttack tricking user requests
XSSCross-Site ScriptingAttack injecting scripts
SQL InjectionSQL InjectionAttack inserting malicious SQL
SanitizationSanitizationRemoving dangerous characters
ParameterizedParameterized QuerySafe query with placeholders

TermFull FormDescription
Query OptimizationQuery OptimizationImproving query performance
Execution PlanExecution PlanHow database executes query
EXPLAINEXPLAINSQL command to show plan
Index ScanIndex ScanUsing index for data retrieval
Seq ScanSequential ScanFull table scan
Index Only ScanIndex Only ScanReading only from index
CacheCacheIn-memory data storage
RedisRedisIn-memory data structure store
Connection PoolConnection PoolReusable database connections
Pool SizePool SizeMaximum connections in pool
N+1 QueryN+1 QueryMultiple sequential queries
Batch OperationBatch OperationBulk data processing
Lazy LoadingLazy LoadingLoad on demand
Eager LoadingEager LoadingLoad immediately
Caching StrategyCaching StrategyHow to cache data
TTLTime to LiveCache expiration time
Warm CacheWarm CachePre-populated cache
Cold CacheCold CacheEmpty cache
Database ProfilingDatabase ProfilingAnalyzing query performance
Slow QuerySlow QueryQuery taking excessive time
BenchmarkingBenchmarkingPerformance measurement

TermFull FormDescription
Unit TestUnit TestTest single function/method
Integration TestIntegration TestTest component interactions
E2E TestEnd-to-End TestTest complete user flows
JestJestJavaScript testing framework
SupertestSupertestHTTP testing for Express/NestJS
Test FixtureTest FixturePre-configured test data
Test FactoryTest FactoryDynamic test data creation
MockMockFake implementation for testing
StubStubSimplified test double
SpySpyFunction call tracking
Snapshot TestSnapshot TestUI/component comparison
CoverageCoverageCode execution measurement
Test RunnerTest RunnerTool executing tests
AssertionAssertionVerification of expected result
Describe BlockDescribe BlockTest group container
It BlockIt BlockIndividual test case
BeforeAllBeforeAllSetup before all tests
BeforeEachBeforeEachSetup before each test
AfterAllAfterAllCleanup after all tests
AfterEachAfterEachCleanup after each test
Test DatabaseTest DatabaseIsolated database for tests

TermFull FormDescription
DockerDockerContainer platform
ContainerContainerIsolated application environment
ImageDocker ImageContainer template
DockerfileDockerfileContainer build instructions
Docker ComposeDocker ComposeMulti-container orchestration
KubernetesKubernetesContainer orchestration
K8sKubernetesShort form for Kubernetes
PodPodKubernetes smallest deployable unit
ServiceKubernetes ServiceNetwork abstraction for pods
DeploymentDeploymentKubernetes resource for app updates
ConfigMapConfigMapKubernetes configuration storage
SecretSecretKubernetes sensitive data storage
HelmHelmKubernetes package manager
CI/CDContinuous Integration/DeploymentAutomated build and deployment
GitHub ActionsGitHub ActionsCI/CD platform
GitLab CIGitLab CIGitLab’s CI/CD tool
JenkinsJenkinsAutomation server for CI/CD
NginxNginxWeb server and reverse proxy
PM2PM2Process manager for Node.js
Environment VariablesEnvironment VariablesConfiguration values per environment
dotenvdotenvNode.js environment loader

TermFull FormDescription
SynchronizeSynchronizeAuto-create database schema
LoggingLoggingSQL query logging
Entity SchemaEntity SchemaProgrammatic entity definition
Naming StrategyNaming StrategyDatabase naming conventions
MetadataMetadataEntity/column metadata storage
DriverDriverDatabase-specific implementation
Connection OptionsConnection OptionsDatabase connection configuration
Multiple ConnectionsMultiple ConnectionsMultiple database connections
ReplicationReplicationDatabase read replicas
ShardingShardingHorizontal database partitioning
Entity ListenerEntity ListenerLifecycle event handler
Event ArgumentsEvent ArgumentsData passed to event handlers
BeforeInsertBeforeInsertEvent before entity insertion
AfterInsertAfterInsertEvent after entity insertion
BeforeUpdateBeforeUpdateEvent before entity update
AfterUpdateAfterUpdateEvent after entity update
BeforeRemoveBeforeRemoveEvent before entity removal
AfterRemoveAfterRemoveEvent after entity removal
Soft DeleteSoft DeleteMark as deleted instead of removing
Hard DeleteHard DeletePermanent row removal

TypeORMNestJSPurpose
@Entity@ModuleDefine entity/module
@Column@ControllerDefine column/controller
@PrimaryColumn@InjectablePrimary key/injectable
@ManyToOne@InjectRelationship/injection
@Index@UseGuardsIndex/authorization
@JoinColumn@BodyJoin column/request body
PrefixPurpose
find…Retrieve data
save…Insert/update data
remove…Delete data
create…Create entity instance
delete…Remove data
count…Count records
update…Update records
SuffixPurpose
…ByIdFind by primary key
…OneSingle result
…ManyMultiple results
…AndCountWith total count
…RawRaw query result

  • Chapter 1: Introduction to TypeORM and NestJS
  • Chapter 5: Connection Setup
  • Chapter 11: Repository Pattern
  • Chapter 16: Query Builder Fundamentals
  • Chapter 21: Module Architecture

Last Updated: February 2026