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