Sobes.tech
Junior — Middle

Hoe implementeer je een een-op-veel relatie in een database of objectgeoriënteerd model?

sobes.tech AI

Antwoord van AI

De relatie van het type "een op velen" in een database wordt geïmplementeerd met behulp van een buitenlandse sleutel in de tabel "veel" die verwijst naar de primaire sleutel van de tabel "een".

In het objectgeoriënteerde model in Java wordt dit meestal als volgt geïmplementeerd:

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

    // getters en setters
}

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

    // getters en setters
}

Als JPA/Hibernate wordt gebruikt, kan de relatie worden beschreven met annotaties:

@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;
}

Op deze manier kan een Parent-object meerdere Child-objecten hebben die ermee verbonden zijn.