Sobes.tech
Junior — Middle

Kaip įgyvendinti vieno prie daug santykį duomenų bazėje ar objektų orientuoto modelio?

sobes.tech AI

Atsakymas iš AI

Duomenų bazėje "vienas į daug" tipo ryšys įgyvendinamas naudojant išorinį raktą "daug" lentelėje, kuris nurodo "vienas" lentelės pirminį raktą.

Objektinio modelio Java kalba dažniausiai tai įgyvendinama taip:

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

    // getteriai ir setteriai
}

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

    // getteriai ir setteriai
}

Jei naudojama JPA/Hibernate, ryšį galima aprašyti anotacijomis:

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

Šiuo būdu, vienas Parent objektas gali turėti daug susijusių Child objektų.