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á.