Junior — Middle
Explicați conceptul de repository în contextul ORM și rolul său în lucrul cu baza de date.
sobes.tech AI
Răspuns de la AI
Depozitul în contextul ORM este un strat de abstracție care încapsulează logica de acces la date și interacțiunea cu baza de date. Oferă metode pentru crearea, citirea, actualizarea și ștergerea obiectelor (CRUD), ascunzând detaliile interogărilor SQL.
Rolul depozitului:
- Simplifică lucrul cu datele, oferind o interfață convenabilă.
- Permite schimbarea implementării stocării datelor fără a modifica logica de afaceri.
- Ajută la menținerea unei arhitecturi curate și a unei separări a responsabilităților.
Exemplu în TypeScript cu 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);
}
// alte metode...
}