Using transactions in all CRUD operations

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Using transactions in all CRUD operations

JORGE MALDONADO
Hello,

I am developing an information system applying several design patterns being the Unit of Work one of them. For this pattern, my code automatically implements the use of transactions and this means that all of the DB CRUD operations will use them: INSERT, UPDATE, DELETE AND SELECT statements. It makes sense to me that all of these operations, except for the SELECT statement, make use of transactions. However, my Unit of Work design pattern has them implemented by default. I have read some articles about using transactions on SELECT statements and have seen that it is not as absurd as it seems to me to use transactions with only SELECT statements inside. My main reason to use transactions in all CRUD operations is to maintain my Unit of Work design pattern standard. If using transactions for all CRUD operations is not a good practice or not recommendable, then I have to choice to re-design my code

I will very much appreciate your valuable feedback on this topic.

Respectfully,
Jorge Maldonado

Libre de virus. www.avast.com
Reply | Threaded
Open this post in threaded view
|

Re: Using transactions in all CRUD operations

ichbinrene
The topic you need to research is "repeatable reads", if you read something within a transaction, depending on the database isolation level, you could get different results, if you want repeatable reads, you may need to consider SELECT statements within transactions. 

On Wed, Nov 6, 2019 at 6:42 PM JORGE MALDONADO <[hidden email]> wrote:
Hello,

I am developing an information system applying several design patterns being the Unit of Work one of them. For this pattern, my code automatically implements the use of transactions and this means that all of the DB CRUD operations will use them: INSERT, UPDATE, DELETE AND SELECT statements. It makes sense to me that all of these operations, except for the SELECT statement, make use of transactions. However, my Unit of Work design pattern has them implemented by default. I have read some articles about using transactions on SELECT statements and have seen that it is not as absurd as it seems to me to use transactions with only SELECT statements inside. My main reason to use transactions in all CRUD operations is to maintain my Unit of Work design pattern standard. If using transactions for all CRUD operations is not a good practice or not recommendable, then I have to choice to re-design my code

I will very much appreciate your valuable feedback on this topic.

Respectfully,
Jorge Maldonado

Libre de virus. www.avast.com


--
El genio es 1% inspiración y 99% transpiración.
Thomas Alva Edison
http://pglearn.blogspot.mx/