A continuación agregaremos dos métodos un poco más complejos a nuestro Service, que realizaran distintas consultas. Los dos métodos a implementar son:
Este método deberá recibir un String como parámetro, y devolverá todas las provincias cuyo nombre sea exactamente igual al ingresado.
Tirará la excepción "NombreInvalidoException" cuando:
Recordá que todas las validaciones se resuelven en el Service, y la búsqueda propiamente dicha en el Repository.
La firma de este método en el service te tendría que quedar algo como:
public Collection<Provincia> buscarProvinciasPorNombreExacto(String nombre);
Este método deberá recibir un String como parámetro, y devolverá las provincias cuyo nombre contenga al parámetro, ignorando mayúsculas y minúsculas.
En el Repository, este método deberá resolverse con Spring Data JPA.
Buscá en la documentación de JPA y pensar cómo deberíamos poner la firma en nuestro repository. Ayuda: los métodos de Spring Data tienen algo en común en la nomenclatura: "findBy..."
¿Qué, pensabas que iba a estar acá la respuesta? Claro que no! =) Eso si, te dejo algunos consejos:
En próximos capítulos vamos a simplificar aún mas el acceso a la Base de Datos, atentos!