From bebdf7094ec1dc43ff361ca8de0301ccc818d79d Mon Sep 17 00:00:00 2001 From: Harkamal Randhawa Date: Mon, 20 Apr 2026 08:15:59 -0600 Subject: [PATCH] catch sort query exceptions --- .../backend/exception/GlobalExceptionHandler.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/com/petshop/backend/exception/GlobalExceptionHandler.java b/backend/src/main/java/com/petshop/backend/exception/GlobalExceptionHandler.java index 092263d9..ed070aed 100644 --- a/backend/src/main/java/com/petshop/backend/exception/GlobalExceptionHandler.java +++ b/backend/src/main/java/com/petshop/backend/exception/GlobalExceptionHandler.java @@ -120,8 +120,8 @@ public class GlobalExceptionHandler { return buildErrorResponse(HttpStatus.BAD_REQUEST, "Invalid sort field: " + ex.getPropertyName(), ex, request); } - @ExceptionHandler(org.hibernate.query.PathException.class) - public ResponseEntity handleHibernatePathException(org.hibernate.query.PathException ex, HttpServletRequest request) { + @ExceptionHandler({org.hibernate.query.PathException.class, org.hibernate.query.sqm.PathElementException.class}) + public ResponseEntity handleHibernatePathException(Exception ex, HttpServletRequest request) { return buildErrorResponse(HttpStatus.BAD_REQUEST, "Invalid query field reference", ex, request); } @@ -150,6 +150,11 @@ public class GlobalExceptionHandler { return buildErrorResponse(HttpStatus.BAD_REQUEST, ex.getMessage(), ex, request); } + @ExceptionHandler(org.springframework.dao.InvalidDataAccessApiUsageException.class) + public ResponseEntity handleInvalidDataAccess(org.springframework.dao.InvalidDataAccessApiUsageException ex, HttpServletRequest request) { + return buildErrorResponse(HttpStatus.BAD_REQUEST, "Invalid query or sort parameter", ex, request); + } + @ExceptionHandler(Exception.class) public ResponseEntity handleGenericException(Exception ex, HttpServletRequest request) { String message = ex.getMessage() == null || ex.getMessage().isBlank()