Я перевожу некоторый код Scala со Скверила на Слик. Все шло хорошо, пока я не наткнулся на топические транзакции. Squeryl сделал работу с транзакциями довольно простой: вам просто нужно обернуть свой код, будь то связанный с БД или нет, в блок transaction
, и все готово.
Из примеров, которые я мог собрать в Интернете, Похоже, что ожидается реструктуризация всего проекта, чтобы он хорошо играл с его монадическим c подходом и с-для-пониманиями, чего я действительно хотел бы избежать.
Рассматривая произвольно кусок кода, такой как:
def f(): Unit = {
UserRepository.getUser()
... some imperative code
ServiceRepository.getServer()
...
ServerRepository.updateServer(...)
...
UserRepository.insertNewUser(...)
}
есть ли способ легко обернуть его в какой-нибудь транзакционный блок без необходимости изменения внутреннего логика c метода?
Спасибо