Pessoal, vejo muita gente dizendo que Transaction deve-se usar somente em alterações no banco, como: update, saves e deletes! MAS, vejo também, muita galera experiente, fazendo begintransation/commit/rollback em Selects (pesquisas)
Afinal, quando é necessário o uso de transactions ?
vc precisa da transação quando vc está alterando o banco de dados de alguma forma, seja inserindo, removendo ou atualizando um registro…
a idéia da transação é que vc agrupa um conjunto de instruções a serem executadas no banco, e se alguma delas der errado vc faz um rollback…
quando vc faz um select, vc não está alterando o banco, então não tem problema se der algum problema, logo vc não precisa de transaction…
alguns bancos exigem que vc use transaction nas operações de alteração…
e lembre-se que as mudanças só irão pro banco quando vc der o transaction.commit(); e der tudo certo.
J
J2Alex
Transações no contexto que você está colocando aqui são necessárias realmente só quando se realizam alterações nos dados. Acontece que muitas vezes - em especial em aplicações web - o controle de transações é utilizado forma automatizada (spring, por exemplo) o que deixa transparente e mais simples esse processo, já que esse não é um requisito do domínio. No entanto, são criadas transações que são desnecessárias.