Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

...

Tenemos definidos métodos para los que no hace falta implementación. Por un lado, tenemos buscar un usuario por un login dado, y después tenemos obtener todos los usuarios ordenados por login.

Se pueden hacer múltiples operaciones filtrando, ordenando, etc., sobre base de datos. Podemos consultar los diferentes métodos disponibles en la documentación oficial. También hay métodos que no hace falta declarar, como findAll(). Estos nos saldrán en el autocompletado de Eclipse. Las operaciones que implementa por defecto JpaRepository las podemos ver en su documentación, pero las que más usaremos serán findAll, findAllById y getById para obtener todos los registros, obtener los que tengan una lista de IDs que se le pase, o un único registro, pasando el ID. También están save y delete para guardar en base de datos, o para borrar.

Además, podemos declarar métodos para otras consultas sin necesidad de implementarlos. Esto lo hace JpaRepository a través del nombre que le pongamos al método, que tendrá que seguir una notación concreta, utilizando una serie de operadores que trae predefinido y utilizando los nombres de los campos de la entidad con la que trata. Podemos ver todas las opciones en la documentación oficial. Algunos ejemplos podrían ser estos:

Bloque de código
languagejava
// Buscar por dos campos (and y or)
public Usuario findByLastnameAndFirstname(String lastname, String Firstname);
public Usuario findByLastnameOrFirstname(String lastname, String Firstname);
// Buscar según si un campo es mayor o menor que un valor, o que esté entre dos valores
public Usuario findByAgeLessThan(int age);
public Usuario findByAgeGreaterThan(int age);
public Usuario findByAgeBetween(int min, int max);
// Buscar si un campo empieza por
public Usuario findByFirstnameStartingWith(String startOfFirstName);
// Buscar por un campo y ordenar por otro
public Usuario findByAgeOrderByLastnameDesc(int age);

Para utilizar nuestros JpaRepository es simple, podemos añadirlo a nuestras clases con @AutowiredPara utilizar nuestro UsuarioRepository, es simple:

Bloque de código
languagejava
@Autowired
private final UsuarioRepository usuarioRepo;
 
Usuario usuario = usuarioRepo.findByLogin("login.usuarioasdf");

Paginación y reordenación

...