Sobes.tech
Junior — Middle

Wyjaśnij koncepcję repozytorium w kontekście ORM i jego rolę w pracy z bazą danych.

sobes.tech AI

Odpowiedź od AI

Repozytorium w kontekście ORM to warstwa abstrakcji, która enkapsuluje logikę dostępu do danych i interakcję z bazą danych. Zapewnia metody do tworzenia, odczytu, aktualizacji i usuwania obiektów (CRUD), ukrywając szczegóły zapytań SQL.

Rola repozytorium:

  • Ułatwia pracę z danymi, zapewniając wygodny interfejs.
  • Pozwala na zmianę implementacji przechowywania danych bez zmiany logiki biznesowej.
  • Pomaga utrzymać czystą architekturę i podział odpowiedzialności.

Przykład w TypeScript z użyciem 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);
  }

  // inne metody...
}