1717package org .springframework .orm .jpa .hibernate ;
1818
1919import jakarta .persistence .OptimisticLockException ;
20- import jakarta .persistence .PersistenceException ;
2120import org .hibernate .HibernateException ;
2221import org .hibernate .dialect .lock .OptimisticEntityLockException ;
2322import org .junit .jupiter .api .Test ;
2423
24+ import org .springframework .dao .InvalidDataAccessApiUsageException ;
2525import org .springframework .orm .ObjectOptimisticLockingFailureException ;
2626import org .springframework .orm .jpa .JpaDialect ;
2727import org .springframework .orm .jpa .JpaOptimisticLockingFailureException ;
@@ -40,7 +40,7 @@ class HibernateJpaDialectTests {
4040 @ Test
4141 void testTranslateException () {
4242 // Plain JPA exception
43- PersistenceException ex = new OptimisticLockException ();
43+ RuntimeException ex = new OptimisticLockException ();
4444 assertThat (dialect .translateExceptionIfPossible (ex ))
4545 .isInstanceOf (JpaOptimisticLockingFailureException .class ).hasCause (ex );
4646
@@ -53,6 +53,11 @@ void testTranslateException() {
5353 ex = new HibernateException (new OptimisticEntityLockException ("" , "" ));
5454 assertThat (dialect .translateExceptionIfPossible (ex ))
5555 .isInstanceOf (ObjectOptimisticLockingFailureException .class ).hasCause (ex );
56+
57+ // IllegalArgumentException
58+ ex = new IllegalArgumentException ("" );
59+ assertThat (dialect .translateExceptionIfPossible (ex ))
60+ .isInstanceOf (InvalidDataAccessApiUsageException .class ).hasCause (ex );
5661 }
5762
5863}
0 commit comments