Опции cascade в Hibernate

232
13 апреля 2018, 18:23

Существует 7 вариантов опции cascade у Hibernate. Хотелось бы уточнить какого именно поведения ожидать от каждой из них. И хотя по названию эффект интуитивно ясен, но не везде так однозначно как хотелось бы.

Я опишу как я понимаю, а вы пожалуйста, поправьте меня там где я ошибаюсь, и дополните пробелы.

  1. none (default) - никакие транзакции не приводят не к созданию, не к обновлению, не к удалению дочерних объектов.

  2. save - при создании нового объекта дочерние так же создаются если их нет. А в остальных случаях действует опция none.

  3. update - при обновлении объекта обновляются дочерние только если они есть и в них есть изменения. А в остальных случаях действует опция none.

  4. save-update - 2 + 3 пункты.

  5. delete - при удалении удаляются все дочерние.

  6. all - 4 + 5 пункты.

  7. all-delete-orphan - вообще не понятно что делает.

Answer 1

Orphan removal - если у вас ассоциация 1 ко многим, и вы хотите удалить энтити, то достаточно всего лишь убрать его из коллекции. Это полезно, когда у вас двусторонняя связь. Без этой опции надо разрывать связь с обеих сторон.

READ ALSO
TabLayout - underline невыбранной вкладки android 4.1.1 (16 api)

TabLayout - underline невыбранной вкладки android 4.1.1 (16 api)

Заметил такую проблему на андройде 41

390
Можно ли сравнить int и null?

Можно ли сравнить int и null?

Такая конструкция

308
Конверт в RealmList

Конверт в RealmList

Никто не подскажет как можно правильно конвертить в RealmList<> например Map<String, String> ну или List<SomeClass>?

205