Junior — Middle
Spiega il concetto di repository nel contesto di ORM e il suo ruolo nel lavoro con il database.
sobes.tech AI
Risposta dell'AI
Il repository nel contesto ORM è uno strato di astrazione che incapsula la logica di accesso ai dati e l'interazione con il database. Fornisce metodi per creare, leggere, aggiornare e eliminare oggetti (CRUD), nascondendo i dettagli delle query SQL.
Ruolo del repository:
- Semplifica il lavoro con i dati, fornendo un'interfaccia comoda.
- Permette di cambiare l'implementazione dello storage dei dati senza modificare la logica di business.
- Aiuta a mantenere un'architettura pulita e una separazione delle responsabilità.
Esempio in TypeScript con 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);
}
// altri metodi...
}