Añado nuevas funciones al servicio y controlo parte de las relaciones entre clases

parent 75239913
......@@ -37,7 +37,8 @@ public class Reserva {
@NotNull
private boolean reservaConcluida;
@Transient
@OneToOne(fetch = FetchType.EAGER, cascade=CascadeType.ALL)
@JoinColumn(name="idReserva")
private Viaje viaje;
@Transient
SistemaCarPooling sistema;
......
......@@ -2,6 +2,8 @@ package com.carpooling.carpoolingaoraha.services;
import com.carpooling.carpoolingaoraha.entidades.Reserva;
import com.carpooling.carpoolingaoraha.entidades.Usuario;
import com.carpooling.carpoolingaoraha.excepciones.ReservaNoRegistrada;
import com.carpooling.carpoolingaoraha.excepciones.UsuarioNoRegistrado;
import com.carpooling.carpoolingaoraha.excepciones.UsuarioYaRegistrado;
import com.carpooling.carpoolingaoraha.repositorios.ReservaRepository;
import com.carpooling.carpoolingaoraha.repositorios.UsuarioRepository;
......@@ -16,6 +18,7 @@ import org.springframework.validation.annotation.Validated;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Optional;
@Service
......@@ -66,15 +69,25 @@ public class ServicioCarPooling {
return usuarioLogin;
}
@CacheEvict(value="clientes", key = "#dni")
@CacheEvict(value="usuarios", key = "#dni")
public Reserva crearReserva(@NotBlank String dni) {
Cliente cliente = repositorioClientes.buscar(dni).orElseThrow(ClienteNoRegistrado::new);
Usuario usuario = repositorioUsuario.buscar(dni).orElseThrow(UsuarioNoRegistrado::new);
//correcto??
Reserva reserva = new Reserva();
repositorioReservas.guardar(reserva);
Cuenta cuenta = crearCuenta(cliente);
repositorioCuentas.guardar(cuenta);
return reserva;
}
/**
@Transactional
public List<Reserva> verReserva (@NotBlank String idReserva) {
Reserva r = repositorioReservas.buscar(idReserva).orElseThrow(ReservaNoRegistrada::new);
return cuenta;
// Precargar a memoria la relación lazy de cuentas del cliente antes de devolver
//cliente.verCuentas().size();
return r.;
}
*/
......
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