Sobes.tech
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.