Как получить объекты JPA, сохраненные / удаленные, но не зафиксированные? - PullRequest
0 голосов
/ 13 января 2012

У меня есть мастер-дочерние таблицы. Пользователь может добавлять / удалять дочерние элементы после выбора главного элемента / объекта. Когда изменяется индекс выбора списка основных элементов, я заполняю дочернюю таблицу / массив массивов дочерними элементами этого выбранного основного элемента из БД. Я открыл диспетчер сущностей, запустил транзакцию, сохранил или удалил дочерние сущности / элементы, когда пользователь соответственно нажимает на дочерние кнопки добавления / удаления. Моя проблема состоит в том, чтобы отслеживать новые и удаленные дочерние объекты, пока пользователь выбирает другой главный элемент. Потому что я очищаю дочернюю таблицу / Arraylist (но не очищаю контекст постоянства) перед заполнением ее дочерними сущностями нового выбранного главного элемента. Я хочу отразить новые / удаленные, еще не зафиксированные дочерние элементы, когда пользователь снова выбирает предыдущий главный элемент. Надежда объяснила мою проблему правильно. Использование гибернации над JPA. Спасибо.

Ответы [ 2 ]

0 голосов
/ 13 января 2012

Я бы предпочел не держать транзакцию открытой между кликами пользователей. Он может пойти на кофе-брейк и оставить его. Я бы предпочел использовать временную таблицу, сеанс, кэш, скрытый ввод (если это веб-интерфейс) и т. Д.

0 голосов
/ 13 января 2012

Ну, просто выполните запрос, чтобы получить все дочерние элементы выбранного мастера.Даже если транзакция еще не зафиксирована, транзакция видит их в базе данных, поскольку она их сохранила.

Обратите внимание, однако, что использование длинных транзакций не масштабируется и приведет к всевозможным блокировкам ипроблемы со старостьюПочему вы не сохраняете детей и не фиксируете их каждый раз, когда пользователь добавляет или удаляет ребенка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...