У меня есть настольное приложение, в которое я загружаю объект с помощью Hibernate, чтобы пользователь мог редактировать информацию.У этой сущности много ассоциаций, помеченных @BatchSize
, и они загружены соответственно, поэтому запросов очень мало.После этого сеанс закрывается и сущность становится отсоединенной.
Когда пользователь заканчивает вносить изменения и нажимает кнопку «Сохранить», вызывается session.merge
для сохранения новых значений.Поскольку некоторые из ассоциаций установлены с помощью CascadeType.ALL
, перед предложением обновления SQL все ассоциации выбираются снова, но на этот раз с использованием отдельного запроса для каждого вместо одного, например, когда объект был загружен, игнорируятакие вещи, как размеры пакетов.
- Можно ли поручить Hibernate применять те же стратегии загрузки при "обновлении" информации для слияния?
- Это обычный способ решенияс такими ситуациями в настольном приложении?Загрузите объект, отсоедините его, представьте его пользователю, внесите изменения и, наконец, объедините
Большое спасибо