Sobes.tech
Junior — Middle

Como implementar uma relação um para muitos numa base de dados ou modelo orientado a objetos?

sobes.tech IA

Resposta da IA

A relação do tipo "um para muitos" numa base de dados é implementada usando uma chave estrangeira na tabela "muitos" que referencia a chave primária da tabela "um".

No modelo orientado a objetos em Java, isto é geralmente implementado assim:

public class Parent {
    private Long id;
    private List<Child> children = new ArrayList<>();

    // getters e setters
}

public class Child {
    private Long id;
    private Parent parent;

    // getters e setters
}

Se estiver a usar JPA/Hibernate, a relação pode ser descrita com anotações:

@Entity
public class Parent {
    @Id
    private Long id;

    @OneToMany(mappedBy = "parent")
    private List<Child> children;
}

@Entity
public class Child {
    @Id
    private Long id;

    @ManyToOne
    @JoinColumn(name = "parent_id")
    private Parent parent;
}

Assim, um objeto Parent pode ter múltiplos objetos Child relacionados.