Sobes.tech
Junior — Middle

Kako implementirati odnos jedan prema više u bazi podataka ili objektno-orijentisanom modelu?

sobes.tech АИ

Одговор од АИ

Veza tipa "jedan prema više" u bazi podataka implementira se pomoću spoljnog ključa u tabeli "više" koji referiše na primarni ključ tabele "jedan".

U objektno-orijentisanom modelu u Javi, ovo se obično realizuje na sledeći način:

public class Parent {
    private Long id;
    private List<Child> children = new ArrayList<>();

    // getteri i setteri
}

public class Child {
    private Long id;
    private Parent parent;

    // getteri i setteri
}

Ako se koristi JPA/Hibernate, odnos se može opisati anotacijama:

@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;
}

Na ovaj način, objekat Parent može imati više povezanih objekata Child.