Что происходит в Hibernate?
Что такое cascading в Hibernate? В теге map
есть атрибут cascade
, который я видел. Для чего это предназначено?
Как то, что означает cascade = all
? Есть и другие атрибуты, которые я читал, например,
cascade="none|save-update|delete|all-delete-orphan|delete-orphan"
.
Ответы
Ответ 1
Каскадирование - это удаление одного объекта из базы данных, вызывающего удаление других (зависимых) объектов.... хотя, конечно, это обычно строки базы данных, которые фактически удаляются.
Каскадирование также может применяться и для сохранения/обновления.
Ответ 2
Каскадирование - это метод Hibernate для использования модели транзитивного персистенции. Транзитивная персистентность - это метод, который позволяет вам распространять постоянство на переходный процесс (объект, еще не сохраненный в базе данных) и отдельные подграфы (дочерние объекты) автоматически. Новый созданный дочерний объект уже постоянный родительский объект должен автоматически стать постоянным без вызова методов save() или persist().
Каскадирование в Hibernate имеет множество опций, таких как save-update, persist, merge, delete и т.д. Cascade = 'all' - это способ использования всех каскадных параметров.