Junior — Middle
Ako implementovať vzťah jeden k mnohým v databáze alebo objektovo orientovanom modeli?
sobes.tech AI
Odpoveď od AI
Vztah typu "jeden k mnohým" v databáze je implementovaný pomocou cudzieho kľúča v tabuľke "mnohé", ktorý odkazuje na primárny kľúč tabuľky "jeden".
V objektovo orientovanom modeli v Jave je to zvyčajne realizované 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
}
Ak sa používa JPA/Hibernate, vzťah možno opísať anotáciami:
@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 spôsobom môže mať objekt Parent mnoho prepojených objektov Child.