Commit d2d5a5d0 by Antonio Rueda

Eliminación de transacciones innecesarias en servicios

parent fd618113
......@@ -9,7 +9,6 @@ import es.ujaen.dae.ujacoin.entidades.movimientos.Movimiento;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import java.time.LocalDateTime;
import java.time.Month;
import java.util.List;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Propagation;
......
......@@ -75,7 +75,6 @@ public class ServicioUjaCoin {
* @param clave la clave de acceso
* @return el objeto de la clase Cliente asociado
*/
@Transactional
public Optional<Cliente> loginCliente(@NotBlank String dni, @NotBlank String clave) {
Optional<Cliente> clienteLogin = repositorioClientes.buscar(dni)
.filter((cliente)->cliente.claveValida(clave));
......@@ -103,7 +102,6 @@ public class ServicioUjaCoin {
* @param dni el DNI del cliente
* @param tarjeta la tarjeta a registrar
*/
// @Transactional
public void registrarTarjeta(@NotBlank String dni, @NotNull @Valid Tarjeta tarjeta) {
Cliente cliente = repositorioClientes.buscar(dni).orElseThrow(ClienteNoRegistrado::new);
cliente.verTarjeta(tarjeta.getNum()).ifPresent(x -> { throw new TarjetaYaRegistrada(); } );
......@@ -119,12 +117,9 @@ public class ServicioUjaCoin {
* @param dni el DNI del cliente
* @return la lista de cuentas
*/
@Transactional
public List<Cuenta> verCuentas(@NotBlank String dni) {
Cliente cliente = repositorioClientes.buscar(dni).orElseThrow(ClienteNoRegistrado::new);
// Precargar a memoria la relación lazy de cuentas del cliente antes de devolver
cliente.verCuentas().size();
return cliente.verCuentas();
}
......@@ -198,7 +193,6 @@ public class ServicioUjaCoin {
* @param fechaHoraHasta la fecha final
* @return la lista de los movimientos entre las fechas indicadas
*/
@Transactional
List<Movimiento> listarMovimientosCuentaDesdeHasta(@NotBlank String numCuenta, @Past LocalDateTime fechaHoraDesde, LocalDateTime fechaHoraHasta) {
Cuenta cuenta = repositorioCuentas.buscar(numCuenta)
.orElseThrow(CuentaNoRegistrada::new);
......@@ -215,7 +209,6 @@ public class ServicioUjaCoin {
* @param fechaHoraDesde fecha de primer movimiento
* @return el listado de movimientos
*/
@Transactional
public List<Movimiento> listarMovimientosCuentaDesde(@NotBlank String numCuenta, @Past LocalDateTime fechaHoraDesde) {
Cuenta cuenta = repositorioCuentas.buscar(numCuenta)
.orElseThrow(CuentaNoRegistrada::new);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment