Primavera - transação somente leitura
Só queria suas opiniões de especialistas em gerenciamento de transações declarativas para o Spring. Aqui está a minha configuração:
A camada DAO é JDBC antiga simples usando Spring JdbcTemplate (sem hibernação, etc)A camada de serviço é POJO com transações declarativas da seguinte maneira -save*, readonly = false, rollback for Throwable
As coisas funcionam bem com a configuração acima. No entanto, quando eu digoget*, readonly = true
, Vejo erros no meu arquivo de log dizendoDatabase connection cannot be marked as readonly
. Isso acontece para todos os métodos get * na camada de serviço.
Agora minhas perguntas são:
A. Eu tenho que definirget*
como somente leitura? Todo meuget*
métodos são operações de banco de dados de leitura pura. Não desejo executá-los em nenhum contexto de transação. Quão sério é o erro acima?
B. Quando eu removo oget*
configuração, não vejo os erros. Mais que tudo, meu simplesget*
operações são executadas sem transações. É este o caminho a percorrer?
C. Por que alguém iria querer ter métodos transacionais ondereadonly = true
? Existe algum significado prático dessa configuração?
Obrigado! Como sempre, suas respostas são muito apreciadas!