Оптимистическая блокировка параллелизма доктрины без свойства версии в модели предметной области - PullRequest
0 голосов
/ 09 марта 2019

В настоящее время я экспериментирую с Doctrine DBAL и хотел бы использовать оптимистическую блокировку для управления параллелизмом.Документация содержит некоторую информацию об этом , но я не могу понять, как сохранить номер версии за пределами моего домена, чтобы иметь возможность сохранять чистые / луковые / шестиугольные / порты и адаптеры / все, что вы хотитеназовите это архитектурой.

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

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

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

Возможно ли это, илиЕсть ли лучший способ, или я ошибаюсь, и я должен думать об этом по-другому?

Спасибо.

...