Хранение EntityManager Doctrine в переменной сеанса - PullRequest
0 голосов
/ 13 апреля 2011

Я занимаюсь разработкой веб-приложения и собираюсь использовать docrine framework для управления параллельными запросами и транзакционными запросами (например, вставкой или обновлением записей заголовков и строк).

Для веб-потребностей я подумалразделить операции по разным шагам: Первый шаг: у меня есть страница, на которой пользователь может вставить запись HeadTable, и после этого я отправляю информацию на сервер, создаю Entity и сохраняю ее в EntityManager с функцией persist.

Второй шаг: пользователь отредактирует и вставит все записи RowsTable.Когда все это сделано, как и раньше, я отправляю все данные на сервер, создаю сущности и связываю их с записью HeadTable.

Последний шаг: когда пользователь подтверждает все, что он сделал, я запускаю сбросоперации EntityManager и передать все в базу данных в одной атомарной транзакции.Чтобы сохранить все эти шаги вместе, я помещаю EntityManager в переменную сеанса и удаляю его после операции сброса.

Кажется, все в порядке, но я хотел бы знать, если это правильный способ решения проблемы илиесли есть лучший способ.

1 Ответ

2 голосов
/ 13 апреля 2011

Звучит как разумная попытка.

Однако я бы, вероятно, не стал хранить сущность-менеджер между запросами.У него есть соединение с базой данных, о котором нужно беспокоиться, и поэтому оно, вероятно, прервется.

Что вы можете сделать, тем не менее, это просто сохранить ваши сущности в сеансе.отделите их от их сущностного менеджера, а затем объедините их в следующем запросе.

...