Você precisa de uma transação de banco de dados para ler dados?
Quando tento ler dados do banco de dados, pelo menos usando
((Session)em.getDelegate()).createCriteria()
uma exceção é lançada dizendo que uma transação não está presente.
Quando adiciono a anotação:
@Transactional(
value = SomeClass.TRANSACTIONAL_MANAGER,
propagation = Propagation.SUPPORTS,
readOnly = true
)
Funciona bem.
No entanto, como a leitura ocorrerá milhões de vezes por segundo para acessar e ler dados, quero garantir que nosso ambiente não esteja obstruído desnecessariamente.
Caso contrário, qual é o custo da criação de um somente leituraPropagation.Supports
transação?
Não posso criar uma consulta de critérios de hibernação sem uma transação, em combinação com o Spring?