Middle
Какви видове връзки съществуват в Hibernate?
sobes.tech AI
Отговор от AI
Hibernate определя следните видове връзки между същностите:
-
Проста асоциация (Basic Association): Връзка един към един, при която една същност съдържа директна препратка към друга (без използване на външни таблици за връзката).
-
Ассоциации "Един към Много" (One-to-Many):
- Една същност може да бъде асоциирана с много други същности.
- Обикновено се реализира чрез използване на външен ключ в таблицата "много".
-
Ассоциации "Много към Едно" (Many-to-One):
- Много същности са асоциирани с една друга същност.
- Това е обратната страна на връзката "Един към Много".
- Реализира се чрез външен ключ в таблицата "много".
-
Ассоциации "Един към Едно" (One-to-One):
- Всяка същност от един тип е асоциирана с максимум една същност от друг тип.
- Реализира се или чрез споделен първичен ключ, или чрез външен ключ в една от таблиците.
-
Ассоциации "Много към Много" (Many-to-Many):
- Много същности от един тип са асоциирани с много същности от друг тип.
- Изисква се отделна междинна таблица за съхраняване на връзките.
Hibernate предоставя анотации за описание на тези връзки:
@OneToOne@OneToMany@ManyToOne@ManyToMany
Също така е възможно да се конфигурират каскадни операции (cascading) за автоматично разпространение на операциите върху същността (например, запазване, изтриване) към свързаните същности.