From a83896f1ff77e854230d501ea698b26b78a434c8 Mon Sep 17 00:00:00 2001 From: rob bygrave Date: Tue, 22 Jan 2019 21:59:17 +1300 Subject: [PATCH] #1617 - save() on a reference bean causes insert to occur ... results in duplicate key exception Fix --- .../io/ebeaninternal/server/persist/DefaultPersister.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java b/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java index ff8cd13c9..4fc291ca9 100644 --- a/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java +++ b/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java @@ -446,6 +446,10 @@ public final class DefaultPersister implements Persister { public void insert(EntityBean bean, Transaction t) { PersistRequestBean req = createRequest(bean, t, PersistRequest.Type.INSERT); + if (req.isReference()) { + // skip insert on reference bean + return; + } try { req.initTransIfRequiredWithBatchCascade(); insert(req);