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ų.