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.