может быть описано языком?
Думаю, вопрос в определённом сорте удобства: людям нравится иметь это под рукой прямо в том же месте, где сами сущности, к которым это относится, объявляются - условно, видеть @Transactional в спринге в тех компонентах, где применяется соответствующая аннотации логика, а не в AbstractPersistenceTransactionConfigFactoryBean (утрирую!) где-то очень далеко.
Трейд-офф типобезопасности/компайл-тайм корректности приложения с простотой поддержания контекста при разработке и собственно разработки.
Ну, это может быть заменено на вызов функции типа fun a() = transaction {..}
Вам не кажется, что трейд офф слишком дорогой? Из серии: "давайте отключим основную фичу языка, чтобы нам было удобно".
Обсуждают сегодня