Sobes.tech
Middle

Koje vrste veza postoje u Hibernate-u?

sobes.tech АИ

Одговор од АИ

Hibernate definiše sledeće vrste odnosa između entiteta:

  1. Osnovna veza (Basic Association): Veza jedan-na-jedan, gde jedna entitet sadrži direktnu referencu na drugu (bez korišćenja spoljnih tabela za vezu).

  2. Veze "Jedan prema Mnogi" (One-to-Many):

    • Jedna entitet može biti povezana sa mnogim drugim entitetima.
    • Obično se implementira korišćenjem spoljnog ključa u tabeli "mnogi".
  3. Veze "Mnogi prema Jedan" (Many-to-One):

    • Mnoge entitete su povezane sa jednom drugom entitetom.
    • To je suprotna strana veze "Jedan prema Mnogi".
    • Implementira se putem spoljnog ključa u tabeli "mnogi".
  4. Veze "Jedan prema Jedan" (One-to-One):

    • Svaka entitet jednog tipa je povezana sa najviše jednom entitetom drugog tipa.
    • Implementira se ili putem zajedničkog primarnog ključa ili putem spoljnog ključa u jednoj od tabela.
  5. Veze "Mnogi prema Mnogi" (Many-to-Many):

    • Mnoge entitete jednog tipa su povezane sa mnogim entitetima drugog tipa.
    • Zahteva posebnu tabelu za čuvanje veza.

Hibernate pruža anotacije za opisivanje ovih veza:

  • @OneToOne
  • @OneToMany
  • @ManyToOne
  • @ManyToMany

Takođe je moguće konfigurisati operacije kaskadiranja (cascading) za automatsko širenje operacija nad entitetom (npr. čuvanje, brisanje) na povezane entitete.