Sobes.tech
Junior — Middle

Kā īstenot vienu pret daudz saistību datu bāzē vai objektorientētajā modelī?

sobes.tech AI

Atbilde no AI

Datubāzē viena pret daudzām veida saite tiek īstenota ar ārējo atslēgu daudzās tabulās, kas atsaucas uz galvenās tabulas primāro atslēgu.

Objektorientētajā modelī Java valodā tas parasti tiek īstenots šādi:

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

    // get un set metodes
}

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

    // get un set metodes
}

Ja tiek izmantota JPA/Hibernate, saite var tikt aprakstīta ar anotācijām:

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

Tādējādi viens Parent objekts var būt saistīts ar daudziem Child objektiem.