diff --git a/ebean-api/src/main/java/io/ebean/SqlQuery.java b/ebean-api/src/main/java/io/ebean/SqlQuery.java index c094677d7..0eee73e5b 100644 --- a/ebean-api/src/main/java/io/ebean/SqlQuery.java +++ b/ebean-api/src/main/java/io/ebean/SqlQuery.java @@ -367,6 +367,14 @@ public interface SqlQuery extends Serializable, CancelableQuery { */ interface TypeQuery { + /** + * Ensure the master DataSource is used when useMaster is true. Otherwise, the read only + * data source can be used if defined. + * + * @see SqlQuery#usingMaster(boolean) + */ + TypeQuery usingMaster(boolean useMaster); + /** * Execute the query using the given transaction. */ diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/querydefn/DefaultRelationalQuery.java b/ebean-core/src/main/java/io/ebeaninternal/server/querydefn/DefaultRelationalQuery.java index 1a4a8adad..8b55be91e 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/querydefn/DefaultRelationalQuery.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/querydefn/DefaultRelationalQuery.java @@ -269,6 +269,12 @@ public final class DefaultRelationalQuery extends AbstractQuery implements SpiSq this.type = type; } + @Override + public TypeQuery usingMaster(boolean useMaster) { + DefaultRelationalQuery.this.usingMaster(useMaster); + return this; + } + @Override public TypeQuery usingTransaction(Transaction transaction) { transaction(transaction); @@ -308,6 +314,12 @@ public final class DefaultRelationalQuery extends AbstractQuery implements SpiSq this.mapper = mapper; } + @Override + public TypeQuery usingMaster(boolean useMaster) { + DefaultRelationalQuery.this.usingMaster(useMaster); + return this; + } + @Override public TypeQuery usingTransaction(Transaction transaction) { transaction(transaction);