Junior — Middle
როგორ განვახორციელოთ ერთიდან მრავლად ურთიერთობა მონაცემთა ბაზაში ან ობიექტზე ორიენტირებულ მოდელში?
sobes.tech AI
პასუხი AI-სგან
დატანილობის ტიპი "ერთი-სამზე" მონაცემთა ბაზაში რეალიზდება გარეგანი გასაღების საშუალებით, რომელიც მიუთითებს "მრავალ" ცხრილში და ссылდება "ერთი" ცხრილის პირველკურსს.
Java-ს ობიექტზე ორიენტირებულ მოდელში, ეს ჩვეულებრივ ასე ხდება:
public class Parent {
private Long id;
private List<Child> children = new ArrayList<>();
// გეტერები და სეტერები
}
public class Child {
private Long id;
private Parent parent;
// გეტერები და სეტერები
}
თუ გამოიყენება JPA/Hibernate, ურთიერთობა შეიძლება აღწერილ იქნას ანოტაციებით:
@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;
}
ამ გზით, ერთ Parent ობიექტს შეუძლია მრავალი დაკავშირებული Child ობიექტი ჰქონდეს.