¿Qué son y cómo utilizar los Query Methods para listas y fechas?
Los Query Methods son una herramienta poderosa que nos facilitan la recuperación de información de una base de datos mediante el uso de convenciones de nomenclatura específica. A través de ellos, podemos realizar consultas basadas en condiciones como listas o fechas. En este artículo, exploraremos cómo crear un método de consulta que permita recuperar órdenes de una pizzería según una fecha específica.
¿Cómo se crean consultas basadas en fechas?
Para recuperar las órdenes que nuestra pizzería ha tenido hoy, inicialmente, es esencial crear un método en nuestro OrderRepository. Este método utilizará la convención findAllByDateAfter para obtener órdenes con fecha posterior a una específica:
Luego, se desarrollará un servicio que utiliza este método para devolver las órdenes del día. Se crea un objeto LocalDateTime para obtener la fecha actual:
Además de fechas, los Query Methods también permiten gestionar listas. Supongamos que queremos listar todas las órdenes externas (domicilio o para llevar). Para esto, creamos un QueryMethod que use el keyword IN.
En el OrderRepository, usamos el método findAllByMethodIn, recibiendo una lista de métodos de entrega:
Además de obtener datos específicos, los Query Methods permiten realizar operaciones como contar elementos. Aquí se muestra un ejemplo de cómo contar cuántas pizzas veganas ofrece una pizzería.
En el PizzaRepository, se puede usar el método countBy para determinar cuántas pizzas tienen una propiedad específica, en este caso, si son veganas:
Podemos aplicar esta lógica en un servicio para imprimir el resultado en la consola:
@ServicepublicclassPizzaService{publicvoidcountVeganPizzas(){int veganPizzas = pizzaRepository.countByVeganTrue();System.out.println("Número de pizzas veganas: "+ veganPizzas);}}
Al ejecutar esta funcionalidad, el sistema consulta cuántas entradas en la tabla cumplen la condición indicada y nos devuelve el total.
¿Qué consideraciones adicionales hay en el uso de query methods?
Facilidad de lectura: Los Query Methods son intuitivos y permiten entender la lógica de la consulta directamente desde su nombre.
Evitar consultas complejas: Aunque son poderosos, se recomienda no abusar de su uso para consultas extremadamente complejas, ya que podrían afectar el rendimiento.
Gestión de métodos IN: Para consultas con el keyword IN, asegúrate de manejar listas de manera adecuada, evitando duplicados y verificando los valores disponibles en la base de datos.
¡Con estos ejemplos de uso de Query Methods para manejar fechas, listas y contar elementos, estarás equipado con las habilidades necesarias para manejar diferentes escenarios en tus aplicaciones! Continúa explorando y aplicando estas técnicas para convertirte en un experto en manejo de bases de datos.