Sobes.tech
Junior — Middle

Објасните концепт репозиторијума у контексту ORM-а и његову улогу у раду са базом података.

sobes.tech АИ

Одговор од АИ

Repository u kontekstu ORM-a je sloj apstrakcije koji enkapsulira logiku pristupa podacima i interakciju sa bazom podataka. On pruža metode za kreiranje, čitanje, ažuriranje i brisanje objekata (CRUD), skrivajući detalje SQL upita.

Uloga repository-ja:

  • Olakšava rad sa podacima pružajući zgodan interfejs.
  • Omogućava promenu implementacije skladištenja podataka bez promene poslovne logike.
  • Pomaže u održavanju čiste arhitekture i razdvajanju odgovornosti.

Primer u TypeScript-u sa TypeORM-om:

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

  // ostale metode...
}