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.