diff --git a/src/main/java/com/avaje/ebean/EbeanServer.java b/src/main/java/com/avaje/ebean/EbeanServer.java index b7b74ae9e..9f9ee078f 100644 --- a/src/main/java/com/avaje/ebean/EbeanServer.java +++ b/src/main/java/com/avaje/ebean/EbeanServer.java @@ -1832,6 +1832,19 @@ public interface EbeanServer { */ T publish(Class beanType, Object id, Transaction transaction); + /** + * Publish a single bean given its type and id returning the resulting live bean. + * This will use the current transaction or create one if required. + *

+ * The values are published from the draft to the live bean. + *

+ * + * @param the type of the entity bean + * @param beanType the type of the entity bean + * @param id the id of the entity bean + */ + T publish(Class beanType, Object id); + /** * Publish the beans that match the query returning the resulting published beans. *

@@ -1844,4 +1857,16 @@ public interface EbeanServer { */ List publish(Query query, Transaction transaction); + /** + * Publish the beans that match the query returning the resulting published beans. + * This will use the current transaction or create one if required. + *

+ * The values are published from the draft beans to the live beans. + *

+ * + * @param the type of the entity bean + * @param query the query used to select the draft beans to publish + */ + List publish(Query query); + } diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java index 076dbf6db..4a152b885 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java @@ -1641,6 +1641,16 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } } + @Override + public T publish(Class beanType, Object id) { + return publish(beanType, id, null); + } + + @Override + public List publish(Query query) { + return publish(query, null); + } + @Override public T publish(Class beanType, Object id, Transaction transaction) { diff --git a/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java b/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java index 4d9041c4b..51c3a878a 100644 --- a/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java +++ b/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java @@ -347,6 +347,16 @@ public class TDSpiEbeanServer implements SpiEbeanServer { } + @Override + public T publish(Class beanType, Object id) { + return null; + } + + @Override + public List publish(Query query) { + return null; + } + @Override public T publish(Class beanType, Object id, Transaction transaction) { return null;