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