Junior — Middle
Pode explicar o que significa o conceito de agregação em sistemas ORM?
sobes.tech IA
Resposta da IA
A agregação em sistemas ORM é um tipo de relação entre objetos, na qual um objeto contém uma referência a outro, mas os objetos existem independentemente um do outro. Ao contrário da composição, onde o ciclo de vida do objeto aninhado depende do contêiner, na agregação o objeto aninhado pode existir separadamente.
Por exemplo, um modelo Order pode ter uma referência a um modelo Customer. Se o pedido for excluído, o cliente ainda permanece na base de dados.
class Customer(Base):
__tablename__ = 'customers'
id = Column(Integer, primary_key=True)
name = Column(String)
class Order(Base):
__tablename__ = 'orders'
id = Column(Integer, primary_key=True)
customer_id = Column(Integer, ForeignKey('customers.id'))
customer = relationship('Customer')
Aqui, Order agrega Customer.