# Cơ sở dữ liệu với TypeORM (Node.js / NestJS) > Entity, repository, quan hệ, migration, query builder, transaction, cascade - 30 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: Node.js / NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van.md) ## 1. Entity trong TypeORM là gì? **Câu trả lời** Một Entity trong TypeORM là một class TypeScript được trang trí bằng @Entity() đại diện cho một bảng cơ sở dữ liệu. Mỗi instance của Entity tương ứng với một hàng trong bảng. Các thuộc tính của class được ánh xạ tự động đến các cột của bảng thông qua các decorator như @Column(). ## 2. Sử dụng decorator nào để đánh dấu một thuộc tính là cột trong TypeORM? **Câu trả lời** Decorator @Column() chuyển đổi một thuộc tính của class thành một cột cơ sở dữ liệu. TypeORM tự động suy ra kiểu SQL từ kiểu TypeScript, nhưng cũng có thể chỉ định rõ ràng bằng @Column('varchar', { length: 255 }). Decorator này rất cần thiết cho tất cả các cột ngoại trừ primary key. ## 3. Sự khác biệt giữa @PrimaryColumn() và @PrimaryGeneratedColumn() là gì? **Câu trả lời** @PrimaryGeneratedColumn() tạo một primary key được tự động tăng bởi cơ sở dữ liệu, lý tưởng cho các định danh dạng số. @PrimaryColumn() định nghĩa một primary key mà giá trị phải được cung cấp thủ công, hữu ích cho các định danh UUID hoặc khóa kết hợp. Trong hầu hết các trường hợp, sử dụng @PrimaryGeneratedColumn() đơn giản và an toàn hơn. ## Còn 27 câu hỏi nữa - Làm thế nào để inject một repository TypeORM vào một service NestJS? - Sử dụng decorator nào để định nghĩa một cột nullable trong TypeORM? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Node.js / NestJS khác - [Kiến thức cơ bản về Node.js](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nodejs-fundamentals.md): 20 câu hỏi, Junior - [API lõi Node.js](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nodejs-core-apis.md): 25 câu hỏi, Junior - [Lập trình bất đồng bộ](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/asynchronous-programming.md): 25 câu hỏi, Junior - [Cơ bản về Express.js](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/express-basics.md): 20 câu hỏi, Junior - [Nền tảng NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nestjs-fundamentals.md): 23 câu hỏi, Junior - [Thiết kế REST API](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/rest-api-design.md): 20 câu hỏi, Junior - [Validation và DTO](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/validation-dto.md): 20 câu hỏi, Junior - [Tài liệu API & Hợp đồng](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/api-documentation.md): 20 câu hỏi, Junior - [Xử lý lỗi](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/error-handling.md): 20 câu hỏi, Junior - [Kiểm thử đơn vị](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/testing-unit.md): 20 câu hỏi, Junior - [Lập lịch tác vụ](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/scheduling-cron.md): 15 câu hỏi, Junior - [Module và DI trong NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nestjs-modules-di.md): 20 câu hỏi, Mid-Level - [Cấu hình & Quản lý môi trường](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/configuration-environment.md): 20 câu hỏi, Mid-Level - [Xác thực JWT](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/authentication-jwt.md): 25 câu hỏi, Mid-Level - [Phân quyền và RBAC](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/authorization-rbac.md): 20 câu hỏi, Mid-Level - [Prisma ORM](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/prisma-orm.md): 25 câu hỏi, Mid-Level - [Middleware và Interceptor](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/middleware-interceptors.md): 20 câu hỏi, Mid-Level - [Tải lên tệp](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/file-upload.md): 15 câu hỏi, Mid-Level - [WebSockets](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/websockets.md): 20 câu hỏi, Mid-Level - [GraphQL với NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/graphql-basics.md): 25 câu hỏi, Mid-Level - [Kiểm thử End-to-End](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/testing-e2e.md): 20 câu hỏi, Mid-Level - [Caching với Redis](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/caching-redis.md): 20 câu hỏi, Mid-Level - [Hàng đợi với Bull](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/queues-bull.md): 20 câu hỏi, Mid-Level - [DevOps, Logging & CI/CD](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/logging-monitoring.md): 25 câu hỏi, Mid-Level - [Docker & Đóng gói container](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/docker-containerization.md): 25 câu hỏi, Mid-Level - [Microservices](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/microservices.md): 30 câu hỏi, Senior - [Các phương pháp bảo mật tốt nhất](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/security-best-practices.md): 25 câu hỏi, Senior - [Hiệu năng và triển khai Cloud](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/performance-optimization.md): 30 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/database-typeorm