Lesson 16 / 33
TypeORM Basics
Define entities, use repositories, and query the database.
Define an entity
Use @Entity() and column decorators to map classes to database tables.
import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column({ unique: true })
email: string;
@Column({ default: 'user' })
role: string;
}Inject & query repository
Inject Repository<Entity> to perform CRUD operations.
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { User } from './user.entity';
@Injectable()
export class UsersService {
constructor(
@InjectRepository(User)
private userRepository: Repository<User>
) {}
findAll() {
return this.userRepository.find();
}
create(user: User) {
return this.userRepository.save(user);
}
}