There are several problems associated with long transactions:
If locks are held, resources are tied up for the length of the transaction, which limits the ability of multiple users to access the data.
If locks are not used, the risk of a commit failure increases with the length of the transaction, because there is a greater time period in which other users might commit a transaction that would cause a conflict.
The architectures of most application servers encourage short transactions, because performance problems can occur when there is a large backlog open transactions competing for resources.