Sobes.tech
Junior — Middle

Hogyan valósítható meg egy egy-több kapcsolat adatbázisban vagy objektumorientált modellben?

sobes.tech MI

Válasz az MI-től

Az "egy-több" típusú kapcsolat az adatbázisban egy külső kulcs segítségével valósul meg a "több" táblában, amely a "egy" tábla elsődleges kulcsára hivatkozik.

Java-ban az objektumorientált modellben ez általában így valósul meg:

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

    // getterek és setterek
}

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

    // getterek és setterek
}

Ha JPA/Hibernate-t használunk, akkor a kapcsolat annotációkkal írható le:

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

Így egy Parent objektumnak több Child objektuma lehet, amelyek kapcsolódnak hozzá.