Sobes.tech
Junior — Middle

Explique o conceito de repositório no contexto de ORM e seu papel no trabalho com bancos de dados.

sobes.tech IA

Resposta da IA

O repositório no contexto de ORM é uma camada de abstração que encapsula a lógica de acesso a dados e a interação com o banco de dados. Ele fornece métodos para criar, ler, atualizar e excluir objetos (CRUD), ocultando os detalhes das consultas SQL.

Papel do repositório:

  • Simplifica o trabalho com os dados, fornecendo uma interface conveniente.
  • Permite alterar a implementação do armazenamento de dados sem modificar a lógica de negócio.
  • Ajuda a manter uma arquitetura limpa e uma separação de responsabilidades.

Exemplo em TypeScript usando 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);
  }

  // outros métodos...
}