title: handle error during remove record
body: <pre><code>void deleteFilm(@PathVariable(value = "id") Integer id) {
       try {
           filmService.deleteFilm(id);
       }
       catch (ConstraintViolationException e) {
           throw e;
       }
       catch (SQLIntegrityConstraintViolationException ex) {
  
       }
  }
  
      2018-08-15 18:12:10.075  WARN 8568 --- [io-8080-exec-10] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 1451, SQLState: 23000
  2018-08-15 18:12:10.075 ERROR 8568 --- [io-8080-exec-10] o.h.engine.jdbc.spi.SqlExceptionHelper   : Cannot delete or update a parent row: a foreign key constraint fails (`todo`.`seance`, CONSTRAINT `FKchlcmip8ejlfuo4c990k5ry8y` FOREIGN KEY (`film_id`) REFERENCES `film` (`id`))
  2018-08-15 18:12:10.077  INFO 8568 --- [io-8080-exec-10] o.h.e.j.b.internal.AbstractBatchImpl     : HHH000010: On release of batch it still contained JDBC statements
  2018-08-15 18:12:10.080 ERROR 8568 --- [io-8080-exec-10] o.h.i.ExceptionMapperStandardImpl        : HHH000346: Error during managed flush [org.hibernate.exception.ConstraintViolationException: could not execute statement]
  2018-08-15 18:12:10.154 ERROR 8568 --- [io-8080-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement] with root cause
  
  com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`todo`.`seance`, CONSTRAINT `FKchlcmip8ejlfuo4c990k5ry8y` FOREIGN KEY (`film_id`) REFERENCES `film` (`id`))
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_131]
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_131]
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_131]
      at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_131]
  </code></pre>
  
  <p>ConstraintViolationException don't catch error and using  SQLIntegrityConstraintViolationException i have is never throw by corresponding try block</p>
  
  <p>i read that </p>
  
  <pre><code>java.lang.Object
     java.lang.Throwable
        java.lang.Exception
           java.sql.SQLException
              java.sql.SQLNonTransientException
                 java.sql.SQLIntegrityConstraintViolationException
                    com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException
  </code></pre>
  
  <p>jdbc4.MySQLIntegrityConstraintViolationException inherits from SQLEXception but this exception is never throw by try block</p>