1
respuesta

@Transactional

¿Por que con el método de registrarMedico y el de listarMedicos no necesitamos usar la anotación @transactional?

1 respuesta

Hola Oscar,

La anotación @Transactional en Spring Boot es utilizada para manejar las transacciones de la base de datos. Cuando anotas un método con @Transactional, Spring se asegura de que todas las operaciones dentro de ese método sean parte de una transacción de la base de datos. Esto significa que si algo sale mal dentro de ese método y se lanza una excepción, todas las operaciones de la base de datos dentro de ese método se revertirán (es decir, se realizará un rollback).

En el caso del método registrarMedico y listarMedicos, no se utiliza @Transactional porque estas operaciones son bastante simples y no requieren un manejo explícito de las transacciones. El método registrarMedico simplemente guarda un nuevo médico en la base de datos y el método listarMedicos simplemente recupera todos los médicos de la base de datos. Estas operaciones son atómicas por naturaleza y no necesitan ser parte de una transacción más grande.

Por otro lado, en el método ActualizarMedico, la anotación @Transactional es necesaria porque este método realiza una operación de actualización en la base de datos. Como se mencionó en el video, si no se utiliza @Transactional, los cambios realizados en el método no se guardan en la base de datos. Esto se debe a que la operación de actualización necesita ser parte de una transacción para que los cambios se guarden correctamente.

Recuerda que el uso de @Transactional depende del tipo de operación que estés realizando. Para operaciones simples como guardar o recuperar datos, no es necesario. Pero para operaciones más complejas como actualizar o eliminar datos, es recomendable utilizar @Transactional para manejar correctamente las transacciones de la base de datos.

Espero haber ayudado. Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios