From 3eaf47fd7058334de2a075b8433901ffda39bc04 Mon Sep 17 00:00:00 2001 From: rob bygrave Date: Mon, 15 Oct 2018 22:25:38 +1300 Subject: [PATCH] No effective change - add additional tests --- .../server/persist/ExeCallableSql.java | 2 +- src/test/java/io/ebean/UpdateQueryTest.java | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/ebeaninternal/server/persist/ExeCallableSql.java b/src/main/java/io/ebeaninternal/server/persist/ExeCallableSql.java index 3bc2dc3d2..b48d2d2cf 100644 --- a/src/main/java/io/ebeaninternal/server/persist/ExeCallableSql.java +++ b/src/main/java/io/ebeaninternal/server/persist/ExeCallableSql.java @@ -48,7 +48,7 @@ class ExeCallableSql { } } catch (SQLException ex) { - throw new PersistenceException(ex); + throw request.translateSqlException(ex); } finally { if (!batchThisRequest) { diff --git a/src/test/java/io/ebean/UpdateQueryTest.java b/src/test/java/io/ebean/UpdateQueryTest.java index 583341517..31285feb5 100644 --- a/src/test/java/io/ebean/UpdateQueryTest.java +++ b/src/test/java/io/ebean/UpdateQueryTest.java @@ -7,6 +7,7 @@ import io.ebean.meta.MetaOrmQueryMetric; import org.junit.Test; import org.tests.model.basic.Country; import org.tests.model.basic.Customer; +import org.tests.model.basic.EBasicWithUniqueCon; import java.sql.Timestamp; import java.util.List; @@ -225,4 +226,27 @@ public class UpdateQueryTest extends BaseTestCase { assertThat(rows).isEqualTo(0); } + + @Test(expected = DuplicateKeyException.class) + public void exceptionTranslation() { + + newEbasicWithUnique("o1","other1_a"); + Integer id = newEbasicWithUnique("o2", "other1_b"); + + Ebean.update(EBasicWithUniqueCon.class) + .set("other", "other1_a") + .set("otherOne", "other1_a") + .where().idEq(id) + .update(); + } + + private Integer newEbasicWithUnique(String name, String other) { + EBasicWithUniqueCon b0 = new EBasicWithUniqueCon(); + b0.setName(name); + b0.setOther(other); + b0.setOtherOne(other); + Ebean.save(b0); + + return b0.getId(); + } }