Шов - как обьединить сущность - PullRequest
0 голосов
/ 10 мая 2011

Я работаю над проектом Seam, и у меня возникла следующая проблема - существует форма редактирования ajax, и многие взаимодействия с этой формой влияют на (видоизменяют) базовую сущность и немедленно изменяются в БД, но я не хочу, чтобы эти изменения сохранялись в базе данныхтолько когда пользователь нажмет кнопку «сохранить».Я думаю о том, чтобы достичь этого, но не знаю, как это сделать (также ищу более разумные решения).

1 Ответ

3 голосов
/ 11 мая 2011

Изменения, которые вы вносите в объект, немедленно отражаются, синхронизируя его с базой данных. Чтобы отсоединить объект, вы можете использовать entityManager.detach(object) или entityManager.clear(), но это приведет к отключению всех управляемых объектов.

Режим сброса EntityManager по умолчанию FlushModeType.AUTO, вместо этого попробуйте FlushModeType.COMMIT, в котором изменения сбрасываются только при явном подтверждении / сбросе, а затем с помощью entityManager.flush() синхронизируйте контекст постоянства с базовой базой данных.

...