diff --git a/src/main/java/io/ebean/DB.java b/src/main/java/io/ebean/DB.java index 3d05b8e56..bcb46b3e9 100644 --- a/src/main/java/io/ebean/DB.java +++ b/src/main/java/io/ebean/DB.java @@ -454,6 +454,13 @@ public class DB { return getDefault().saveAll(beans); } + /** + * Save all the beans from a Collection. + */ + public static int saveAll(Object... beans) throws OptimisticLockException { + return getDefault().saveAll(beans); + } + /** * This method checks the uniqueness of a bean. I.e. if the save will work. It will return the * properties that violates an unique / primary key. This may be done in an UI save action to diff --git a/src/main/java/io/ebean/Database.java b/src/main/java/io/ebean/Database.java index 8617b60be..784f4804d 100644 --- a/src/main/java/io/ebean/Database.java +++ b/src/main/java/io/ebean/Database.java @@ -881,6 +881,11 @@ public interface Database { */ int saveAll(Collection> beans) throws OptimisticLockException; + /** + * Save all the beans. + */ + int saveAll(Object... beans) throws OptimisticLockException; + /** * Delete the bean. *
diff --git a/src/main/java/io/ebeaninternal/server/core/DefaultServer.java b/src/main/java/io/ebeaninternal/server/core/DefaultServer.java
index 985d7c114..0ee1b76c6 100644
--- a/src/main/java/io/ebeaninternal/server/core/DefaultServer.java
+++ b/src/main/java/io/ebeaninternal/server/core/DefaultServer.java
@@ -131,6 +131,7 @@ import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.time.Clock;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@@ -1916,6 +1917,11 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
return saveAllInternal(beans, null);
}
+ @Override
+ public int saveAll(Object... beans) throws OptimisticLockException {
+ return saveAllInternal(Arrays.asList(beans), null);
+ }
+
/**
* Save all beans in the iterator with an explicit transaction.
*/
diff --git a/src/test/java/io/ebean/EbeanServer_deleteAllByIdTest.java b/src/test/java/io/ebean/EbeanServer_deleteAllByIdTest.java
index 819419fbc..6ab6db3e7 100644
--- a/src/test/java/io/ebean/EbeanServer_deleteAllByIdTest.java
+++ b/src/test/java/io/ebean/EbeanServer_deleteAllByIdTest.java
@@ -8,10 +8,38 @@ import java.util.ArrayList;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.assertNotNull;
public class EbeanServer_deleteAllByIdTest extends BaseTestCase {
+ @Test
+ public void saveAllByVarArgs() {
+
+ final EBasicVer bean0 = bean("foo0");
+ final EBasicVer bean1 = bean("foo1");
+ final EBasicVer bean2 = bean("foo2");
+
+ LoggedSqlCollector.start();
+
+ DB.saveAll(bean0, bean1, bean2);
+
+ assertNotNull(bean0.getId());
+ assertNotNull(bean1.getId());
+ assertNotNull(bean2.getId());
+
+ List