Sobes.tech
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 ობიექტი ჰქონდეს.