Junior — Middle
Jak implementovat vztah jeden k mnoha v databázi nebo objektově orientovaném modelu?
sobes.tech AI
Odpověď od AI
Vztah typu "jeden k mnoha" v databázi je implementován pomocí cizího klíče v tabulce "mnoho", který odkazuje na primární klíč tabulky "jeden".
V objektově orientovaném modelu v Javě je to obvykle realizováno takto:
public class Parent {
private Long id;
private List<Child> children = new ArrayList<>();
// gettery a settery
}
public class Child {
private Long id;
private Parent parent;
// gettery a settery
}
Pokud se používá JPA/Hibernate, lze vztah popsat anotacemi:
@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ímto způsobem může mít objekt Parent mnoho propojených objektů Child.