В настоящее время я экспериментирую с Doctrine DBAL и хотел бы использовать оптимистическую блокировку для управления параллелизмом.Документация содержит некоторую информацию об этом , но я не могу понять, как сохранить номер версии за пределами моего домена, чтобы иметь возможность сохранять чистые / луковые / шестиугольные / порты и адаптеры / все, что вы хотитеназовите это архитектурой.
В большинстве случаев, когда вам приходится иметь дело с такими вещами, как оптимистическая блокировка и возможная согласованность, я не думаю, что это прямое требование бизнеса.Скорее, это побочный продукт вашего технического выбора (то есть вашей инфраструктуры), позволяющий достичь бизнес-целей.
Как таковое, наличие поля версии в базе данных для поддержки оптимистической блокировки - это хорошо, но я тожеМне бы хотелось, чтобы домен был независимым и, следовательно, не имел свойства version
в моей организации.version
- это то, что DBAL может отслеживать, но оно должно отслеживать его на стороне инфраструктуры и не загрязнять мой домен.
Поскольку я предпочел бы использовать встроенную оптимистичную блокировку DBAL, а невместо того, чтобы писать собственное решение, я искал способ, которым я мог бы добавить поле отображения в отображение, без необходимости в доктрине также привязывать его к сущности в моем домене.
Возможно ли это, илиЕсть ли лучший способ, или я ошибаюсь, и я должен думать об этом по-другому?
Спасибо.