# TypeORM Basics — नेस्टजेएस

Source: https://www.geekswithgeeks.com/hi/nestjs/nestjs-typeorm-basics

> Entities define करें, repositories का उपयोग करें, और database को query करें।

## Entity define करें

Database tables को classes से map करने के लिए `@Entity()` और column decorators का उपयोग करें।

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

## Repository को Inject और Query करें

CRUD operations करने के लिए `Repository<Entity>` को inject करें।

```typescript
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);
  }
}
```
