2013-06-13 4 views
14

Что такое Каскадный в Hibernate? Существует атрибут cascade, который я видел в теге map. Для чего это предназначено?Что такое каскадирование в Hibernate?

Как то, что делает cascade = all означает? Есть и другие атрибуты, которые я читал как
cascade="none|save-update|delete|all-delete-orphan|delete-orphan".

+1

Проконсультировались ли вы с документацией? Является ли это неопределенным в некоторых вопросах? Вероятно, вы должны включить это, чтобы люди не называли вас кем-то ленивым, чтобы читать ссылки. :) – Henrik

+1

@ Хенрик да. Я читал этот http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/collections.html, но я просто не получил вещь 'cascade' – saplingPro

ответ

8

Каскадирование - это удаление одного объекта из базы данных, вызывающего удаление других (зависимых) объектов .... хотя, конечно, это обычно строки базы данных, которые фактически удаляются.

Каскадирование может также применяться к сохранению/обновлению.

+1

, что делает' cascade = all 'означает? – saplingPro

+0

cascade = "all" означает каскадное сохранение и обновление, а также звонки на выселение и блокировку – michal

+0

@michal не получил вас – saplingPro

2

Каскадирование - это способ использования транзитивной персистирующей модели Hibernate. Транзитивная персистентность - это метод, который позволяет вам распространять постоянство на переходный процесс (объект, еще не сохраненный в базе данных) и отдельные подграфы (дочерние объекты) автоматически. Новый созданный дочерний объект уже сохраняющегося родительского объекта автоматически становятся постоянными без вызова методов save() или persist().

Каскадирование в спящем режиме имеет много вариантов, таких как сохранение обновлений, сохранение, слияние, удаление и т. Д. Cascade = 'all' - это способ применения всех каскадных параметров.

Смежные вопросы