Sobes.tech
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...
}