Просто хотел получить ваши экспертные заключения по декларативному управлению транзакциями для Spring.Вот мои настройки:
- Уровень DAO - это простой старый JDBC с использованием Spring JdbcTemplate (без спящего режима и т. Д.)
- Сервисный уровень - это POJO с декларативными транзакциями следующим образом -
save*, readonly = false, rollback for Throwable
С вышеприведенной настройкой все работает хорошо.Однако, когда я говорю get*, readonly = true
, я вижу ошибки в моем файле журнала, говорящие Database connection cannot be marked as readonly
.Это происходит для всех методов get * в слое обслуживания.
Теперь мои вопросы:
A.Нужно ли устанавливать get*
только для чтения?Все мои get*
методы являются чисто операциями чтения БД.Я не хочу запускать их в любом контексте транзакции.Насколько серьезна вышеуказанная ошибка?
B.Когда я удаляю конфигурацию get*
, я не вижу ошибок.Более того, все мои простые операции get*
выполняются без транзакций.Это путь?
C.Зачем кому-то хотеть иметь транзакционные методы, где readonly = true
?Есть ли практическое значение этой конфигурации?
Спасибо!Как всегда, ваши отзывы очень ценятся!