Oii Leonardo, tudo bem?
Legal o que você implementou, muito obrigada por compartilhar com a gente!
Utilizar eager
pode, de fato, resolver o problema de carregamento automático dos pets ao buscar um adotante, mas pode não ser a abordagem mais eficiente dependendo do contexto e do tamanho dos dados.
Uma alternativa ao eager
é utilizar lazy loading
, que carrega os dados sob demanda. Pra isso, você pode configurar a relação como lazy
e usar um método para carregar os pets quando necessário.
@OneToMany(() => PetEntity, (pet) => pet.adotante, { lazy: true })
pets: Promise<PetEntity[]>;
Com essa configuração, os pets não serão carregados automaticamente ao buscar um adotante. Quando você precisar acessar os pets, pode fazer algo assim:
const adotante = await adotanteRepository.findOne(adotanteId);
const pets = await adotante.pets;
Essas abordagens podem te ajudar a evitar o carregamento desnecessário de dados e melhorar a performance da sua aplicação.
Um abraço e bons estudos.