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