En el diseño de una una aplicación con procesos que modifican información en una base de datos es fundamental implementar el uso de transacciones, de forma que siempre se garantice que las operaciones se realizan de forma atómica, consistente, aislada y durable (principios ACID).
Para el desarrollo de una aplicación en Java se tienen diversas alternativas para la creación y propagación de la transacción entre diferentes procesos, tanto de forma declarativa como programática. Por ejemplo usando Java Persistence API (JPA), el estándar definido dentro de Java EE, o empleando otras alternativas como el framework Spring para la gestión de transacciones.