Spring MVC @ControllerAdvice exception handling
Your approach seems well written and structured code-wise. However I feel that there is room to improve the structure of the application and the separation of concerns among the classes thus producing a more SOLID result.

My biggest concern is with the web-layer (The Controllers)having to deal with SQL related errors. You do not really describe how your application is structured, but I believe you have your logic implemented within the Controller methods. 

If you enclose the application logic in a service class (e.g. UserService) there you could perform data validation and exception handling on the incoming request. For example you should check that the user exists before trying to run update queries that result in an Exception being thrown. You could then throw a custom ResourceNotFoundException with the custom message your ErrorServiceMessage generates and have your ControllerAdvice ExceptionHandler just wrap this to a ResponseEntity. 

By hard coding your index names into your error handling classes. then you make it more error prone. What will happen if someone renames the Index? Additionally every time a new Index is being added you would then have to update the generate1452SqlExceptionResp method.

I hope you find my comments useful and thought provoking.

Best Regards