Junior — Middle
Vysvětlete koncept repozitáře v kontextu ORM a jeho roli při práci s databází.
sobes.tech AI
Odpověď od AI
Repository v kontextu ORM je vrstva abstrakce, která enkapsuluje logiku přístupu k datům a interakci s databází. Poskytuje metody pro vytváření, čtení, aktualizaci a mazání objektů (CRUD), skrývá detaily SQL dotazů.
Role repository:
- Zjednodušuje práci s daty tím, že poskytuje pohodlné rozhraní.
- Umožňuje změnit implementaci ukládání dat bez změny obchodní logiky.
- Pomáhá udržovat čistou architekturu a rozdělení odpovědností.
Příklad v TypeScript s TypeORM:
class UserRepository {
constructor(private ormRepository: Repository<User>) {}
async findById(id: number): Promise<User | null> {
return this.ormRepository.findOneBy({ id });
}
async save(user: User): Promise<User> {
return this.ormRepository.save(user);
}
// další metody...
}