Ответ 1
Индивидуальные описания CascadeType могут быть немного запутанными, но есть простой способ понять это из общего случая.
Для любого из значений CascadeType
это означает, что если операция X
вызывается в экземпляре с использованием интерфейса EntityManager
, и этот экземпляр имеет ссылки на другие экземпляры сущности и эта ассоциация имеет CascadeType.X
, то операция EntityManager
также будет применена к этому связанному объекту.
Итак, EntityManager.refresh()
определяется как:
Обновить состояние экземпляра из база данных, внесенные изменения к сущности, если таковая имеется.
Итак, если объект A имеет ссылку на объект B, и эта ссылка аннотируется с помощью @CascadeType.REFRESH
и вызывается EntityManager.refresh(A)
, то также неявно называется EntityManager.refresh(B)
.