Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] ¿Conviene que devuelva la tabla entera si todos los parámetros son nulos?

Hola. Al realizar las consultas con parámetros, tanto en consultarPorParametros como en consultarPorParametrosConAPICriteria si todos los parámetros son nulos (o no se cumplen las condiciones de validez de todos los parámetros) el String de la consulta queda como "SELECT P FROM Producto P WHERE 1=1 " y eso hace que el método retorne todos los productos de la tabla. No me parece que tenga que hacer eso, sino que en realidad debería retornar una lista vacía, o lanzar una excepción (ya que ningún parámetro es válido) y además estará malgastando recursos. ¿Cuál sería la mejor solución en este caso? Se me ocurre que lanzar la excepción es mejor ya que termina diferenciado entre "ningún parámetro válido" y "no se encontró nada en la tabla con los criterios pedidos", pero me gustaría saber qué opinan. Saludos.

1 respuesta
solución!

¡Hola Paulo!

Gracias por tu pregunta. Entiendo tu preocupación por el rendimiento y la eficiencia de la consulta. En este caso, es cierto que si todos los parámetros son nulos, la consulta devuelve todos los productos de la tabla, lo que puede ser un problema en términos de rendimiento y recursos.

En cuanto a la mejor solución, personalmente creo que lanzar una excepción sería una buena opción, ya que como mencionas, diferenciaría entre "ningún parámetro válido" y "no se encontró nada en la tabla con los criterios pedidos". Además, esto obligaría al usuario a proporcionar al menos un parámetro válido para obtener resultados de la consulta.

Sin embargo, también es importante tener en cuenta el contexto de la aplicación y las necesidades del usuario. Si el usuario espera obtener una lista vacía cuando todos los parámetros son nulos, entonces esa podría ser una solución adecuada.

En resumen, mi recomendación sería lanzar una excepción en este caso, pero siempre es importante considerar las necesidades específicas del usuario y la aplicación. Espero haber ayudado y buenos estudios.