diff --git a/src/main/java/io/ebean/DB.java b/src/main/java/io/ebean/DB.java index 9583861ca..03822a79f 100644 --- a/src/main/java/io/ebean/DB.java +++ b/src/main/java/io/ebean/DB.java @@ -702,29 +702,49 @@ public class DB { } /** - * Create a SqlQuery for executing native sql - * query statements. + * Look to execute a native sql query that does not returns beans but instead + * returns SqlRow or direct access to ResultSet (see {@link SqlQuery#findList(RowMapper)}. + * *

- * Note that you can use raw SQL with entity beans, refer to the SqlSelect - * annotation for examples. + * Refer to {@link DtoQuery} for native sql queries returning DTO beans. + *

+ *

+ * Refer to {@link #findNative(Class, String)} for native sql queries returning entity beans. *

*/ - public static SqlQuery createSqlQuery(String sql) { - return getDefault().createSqlQuery(sql); + public static SqlQuery sqlQuery(String sql) { + return getDefault().sqlQuery(sql); } /** - * Create a sql update for executing native dml statements. + * This is an alias for {@link #sqlQuery(String)}. + */ + public static SqlQuery createSqlQuery(String sql) { + return sqlQuery(sql); + } + + /** + * Look to execute a native sql insert update or delete statement. *

* Use this to execute a Insert Update or Delete statement. The statement will * be native to the database and contain database table and column names. *

+ * *

* See {@link SqlUpdate} for example usage. *

+ * + * @return The SqlUpdate instance to set parameters and execute + */ + public static SqlUpdate sqlUpdate(String sql) { + return getDefault().sqlUpdate(sql); + } + + /** + * This is an alias for {@link #sqlUpdate(String)}. */ public static SqlUpdate createSqlUpdate(String sql) { - return getDefault().createSqlUpdate(sql); + return sqlUpdate(sql); } /** diff --git a/src/main/java/io/ebean/Database.java b/src/main/java/io/ebean/Database.java index 81e1d56d4..8a7b3a9f4 100644 --- a/src/main/java/io/ebean/Database.java +++ b/src/main/java/io/ebean/Database.java @@ -452,24 +452,40 @@ public interface Database { DtoQuery createNamedDtoQuery(Class dtoType, String namedQuery); /** - * Create a SqlQuery for executing native sql - * query statements. + * Look to execute a native sql query that does not returns beans but instead + * returns SqlRow or direct access to ResultSet (see {@link SqlQuery#findList(RowMapper)}. + * *

- * Note that you can use raw SQL with entity beans, refer to the SqlSelect - * annotation for examples. + * Refer to {@link DtoQuery} for native sql queries returning DTO beans. *

+ *

+ * Refer to {@link #findNative(Class, String)} for native sql queries returning entity beans. + *

+ */ + SqlQuery sqlQuery(String sql); + + /** + * This is an alias for {@link #sqlQuery(String)}. */ SqlQuery createSqlQuery(String sql); /** - * Create a sql update for executing native dml statements. + * Look to execute a native sql insert update or delete statement. *

* Use this to execute a Insert Update or Delete statement. The statement will * be native to the database and contain database table and column names. *

+ * *

* See {@link SqlUpdate} for example usage. *

+ * + * @return The SqlUpdate instance to set parameters and execute + */ + SqlUpdate sqlUpdate(String sql); + + /** + * This is an alias for {@link #sqlUpdate(String)}. */ SqlUpdate createSqlUpdate(String sql); diff --git a/src/main/java/io/ebean/SqlQuery.java b/src/main/java/io/ebean/SqlQuery.java index 1c4e6e680..a35ef7eb4 100644 --- a/src/main/java/io/ebean/SqlQuery.java +++ b/src/main/java/io/ebean/SqlQuery.java @@ -10,34 +10,30 @@ import java.util.function.Consumer; import java.util.function.Predicate; /** - * Query object for performing native SQL queries that return SqlRow's. - *

- * Firstly note that you can use your own sql queries with entity beans - * by using the SqlSelect annotation. This should be your first approach when - * wanting to use your own SQL queries. - *

- *

- * If ORM Mapping is too tight and constraining for your problem then SqlQuery - * could be a good approach. - *

+ * Query object for performing native SQL queries that return SqlRow or directly read + * ResultSet using a RowMapper. *

* The returned SqlRow objects are similar to a LinkedHashMap with some type * conversion support added. *

*

+ * Refer to {@link DtoQuery} for native sql queries returning DTO beans. + *

+ *

+ * Refer to {@link Database#findNative(Class, String)} for native sql queries returning entity beans. + *

+ * *
{@code
  *
- *   // its typically a good idea to use a named query
- *   // and put the sql in the orm.xml instead of in your code
+ *   // example using named parameters
  *
  *   String sql = "select id, name from customer where name like :name and status_code = :status";
  *
- *   SqlQuery sqlQuery = Ebean.createSqlQuery(sql);
- *   sqlQuery.setParameter("name", "Acme%");
- *   sqlQuery.setParameter("status", "ACTIVE");
- *
- *   // execute the query returning a List of MapBean objects
- *   List list = sqlQuery.findList();
+ *   List list =
+ *     DB.sqlQuery(sql)
+ *       .setParameter("name", "Acme%")
+ *       .setParameter("status", "ACTIVE")
+ *       .findList();
  *
  * }
*/ @@ -104,7 +100,7 @@ public interface SqlQuery extends Serializable { * * String sql = "select id, name, status from customer order by name desc"; * - * Ebean.createSqlQuery(sql) + * DB.sqlQuery(sql) * .findEachRow((resultSet, rowNum) -> { * * // read directly from ResultSet @@ -134,7 +130,7 @@ public interface SqlQuery extends Serializable { * * String sql = "select max(unit_price) from o_order_detail where order_qty > ?"; * - * BigDecimal maxPrice = Ebean.createSqlQuery(sql) + * BigDecimal maxPrice = DB.sqlQuery(sql) * .setParameter(1, 2) * .findSingleAttribute(BigDecimal.class); * @@ -176,9 +172,10 @@ public interface SqlQuery extends Serializable { * " order by (unit_price * order_qty) desc"; * * // - * List lineAmounts = Ebean.createSqlQuery(sql) - * .setParameter(1, 3) - * .findSingleAttributeList(BigDecimal.class); + * List lineAmounts = + * DB.sqlQuery(sql) + * .setParameter(1, 3) + * .findSingleAttributeList(BigDecimal.class); * * } * @@ -204,14 +201,16 @@ public interface SqlQuery extends Serializable { * * String sql = "select id, name from customer where name like ? and status = ?"; * - * Ebean.createSqlQuery(sql) + * List list = + * DB.sqlQuery(sql) * .setParams("Rob", Status.NEW) * .findList(); * * * // is the same as ... * - * Ebean.createSqlQuery(sql) + * List list = + * DB.sqlQuery(sql) * .setParameter(1, "Rob") * .setParameter(2, "Status.NEW) * .findList(); diff --git a/src/main/java/io/ebean/SqlUpdate.java b/src/main/java/io/ebean/SqlUpdate.java index bd104c344..392d6f09f 100644 --- a/src/main/java/io/ebean/SqlUpdate.java +++ b/src/main/java/io/ebean/SqlUpdate.java @@ -16,20 +16,33 @@ package io.ebean; * notify Ebean of external changes and enable Ebean to maintain it's "L2" * server cache. *

- *

+ * *

{@code
  *
- *   // example that uses 'named' parameters
+ *   // example using 'positioned' parameters
  *
- *   String s = "UPDATE f_topic set post_count = :count where id = :id";
+ *   String sql = "insert into audit_log (group, title, description) values (?, ?, ?);
  *
- *   SqlUpdate update = Ebean.createSqlUpdate(s);
- *   update.setParameter("id", 1);
- *   update.setParameter("count", 50);
+ *   int rows =
+ *     DB.sqlUpdate(sql)
+ *       .setParams("login", "new user", "user rob was created")
+ *       .executeNow();
  *
- *   int modifiedCount = update.execute();
+ * }
* - * String msg = "There were " + modifiedCount + " rows updated"; + *
{@code
+ *
+ *   // example using 'named' parameters
+ *
+ *   String sql = "update topic set post_count = :count where id = :id";
+ *
+ *   int rows =
+ *     DB.sqlUpdate(sql)
+ *       .setParameter("id", 1)
+ *       .setParameter("count", 50)
+ *       .execute();
+ *
+ *   String msg = "There were " + rows + " rows updated";
  *
  * }
*

@@ -37,9 +50,10 @@ package io.ebean; *

{@code
  *
  *  String sql = "insert into audit_log (id, description, modified_description) values (?,?,?)";
- *  SqlUpdate insert = Ebean.createSqlUpdate(sql);
  *
- *  try (Transaction txn = Ebean.beginTransaction()) {
+ *  SqlUpdate insert = DB.sqlUpdate(sql);
+ *
+ *  try (Transaction txn = DB.beginTransaction()) {
  *    txn.setBatchMode(true);
  *
  *    insert.setNextParameter(10000);
@@ -65,7 +79,7 @@ package io.ebean;
  * 

*
{@code
  *
- *   try (Transaction txn = Ebean.beginTransaction()) {
+ *   try (Transaction txn = DB.beginTransaction()) {
  *
  *     insert.setNextParameter(10000);
  *     insert.setNextParameter("hello");
@@ -220,20 +234,20 @@ public interface SqlUpdate {
   /**
    * Set one of more positioned parameters.
    * 

- * This is a convenient alternative to multiple calls setParameter(). + * This is a convenient alternative to multiple setParameter() calls. * *

{@code
    *
    *   String sql = "insert into audit_log (id, name, version) values (?,?,?)";
    *
-   *   Ebean.createSqlUpdate(sql)
+   *   DB.sqlUpdate(sql)
    *       .setParams(UUID.randomUUID(), "Hello", 1)
    *       .executeNow();
    *
    *
    *   // is the same as ...
    *
-   *   Ebean.createSqlUpdate(sql)
+   *   DB.sqlUpdate(sql)
    *       .setParameter(1, UUID.randomUUID())
    *       .setParameter(2, "Hello")
    *       .setParameter(3, 1)
diff --git a/src/test/java/io/ebean/DtoQueryTest.java b/src/test/java/io/ebean/DtoQueryTest.java
index 5f693cab4..8381acb9d 100644
--- a/src/test/java/io/ebean/DtoQueryTest.java
+++ b/src/test/java/io/ebean/DtoQueryTest.java
@@ -130,7 +130,7 @@ public class DtoQueryTest extends BaseTestCase {
 
     List ids = Arrays.asList(1, 2);
 
-    List list = server().createSqlQuery("select id, name from o_customer where id = any(?)")
+    List list = DB.sqlQuery("select id, name from o_customer where id = any(?)")
       .setParameter(1, ids)
       .findList();
 
diff --git a/src/test/java/io/ebeaninternal/dbmigration/DbMigrationTest.java b/src/test/java/io/ebeaninternal/dbmigration/DbMigrationTest.java
index f30fc8eba..d8a0caef0 100644
--- a/src/test/java/io/ebeaninternal/dbmigration/DbMigrationTest.java
+++ b/src/test/java/io/ebeaninternal/dbmigration/DbMigrationTest.java
@@ -1,7 +1,6 @@
 package io.ebeaninternal.dbmigration;
 
 import io.ebean.BaseTestCase;
-import io.ebean.SqlQuery;
 import io.ebean.SqlRow;
 import io.ebean.SqlUpdate;
 import io.ebean.Transaction;
@@ -108,8 +107,7 @@ public class DbMigrationTest extends BaseTestCase {
 
     // Run migration
     runScript(false, "1.1.sql");
-    SqlQuery select = server().createSqlQuery("select * from migtest_e_basic order by id");
-    List result = select.findList();
+    List result = server().sqlQuery("select * from migtest_e_basic order by id").findList();
     assertThat(result).hasSize(2);
 
     SqlRow row = result.get(0);
@@ -137,11 +135,10 @@ public class DbMigrationTest extends BaseTestCase {
     // Oracle caches the statement and does not detect schema change. It fails with
     // an ORA-01007
     if (isOracle()) {
-      select = server().createSqlQuery("select * from migtest_e_basic order by id,id");
+      result = server().sqlQuery("select * from migtest_e_basic order by id,id").findList();
     } else {
-      select = server().createSqlQuery("select * from migtest_e_basic order by id");
+      result = server().sqlQuery("select * from migtest_e_basic order by id").findList();
     }
-    result = select.findList();
     assertThat(result).hasSize(2);
     row = result.get(0);
     assertThat(row.keySet()).doesNotContain("old_boolean", "old_boolean2");
@@ -150,8 +147,7 @@ public class DbMigrationTest extends BaseTestCase {
     runScript(false, "1.4__dropsFor_1.3.sql");
 
     // now DB structure shoud be the same as v1_0
-    select = server().createSqlQuery("select * from migtest_e_basic order by id");
-    result = select.findList();
+    result = server().sqlQuery("select * from migtest_e_basic order by id").findList();
     assertThat(result).hasSize(2);
     row = result.get(0);
     assertThat(row.keySet()).contains("old_boolean", "old_boolean2");
diff --git a/src/test/java/io/ebeaninternal/server/type/TestBinaryUUID.java b/src/test/java/io/ebeaninternal/server/type/TestBinaryUUID.java
index 986f5f829..0f0d2416b 100644
--- a/src/test/java/io/ebeaninternal/server/type/TestBinaryUUID.java
+++ b/src/test/java/io/ebeaninternal/server/type/TestBinaryUUID.java
@@ -1,10 +1,10 @@
 package io.ebeaninternal.server.type;
 
 import io.ebean.BaseTestCase;
-import io.ebean.Ebean;
+import io.ebean.DB;
 import io.ebean.SqlRow;
-import org.tests.model.basic.UUOne;
 import org.junit.Test;
+import org.tests.model.basic.UUOne;
 
 import java.util.List;
 import java.util.UUID;
@@ -25,11 +25,11 @@ public class TestBinaryUUID extends BaseTestCase {
     one1.setId(id);
     one1.setName("second one");
 
-    Ebean.save(one0);
-    Ebean.save(one1);
+    DB.save(one0);
+    DB.save(one1);
 
-    UUOne fetch0 = Ebean.find(UUOne.class, one0.getId());
-    UUOne fetch1 = Ebean.find(UUOne.class, one1.getId());
+    UUOne fetch0 = DB.find(UUOne.class, one0.getId());
+    UUOne fetch1 = DB.find(UUOne.class, one1.getId());
 
     assertEquals(one0.getId(), fetch0.getId());
     assertEquals(one0.getName(), fetch0.getName());
@@ -38,7 +38,7 @@ public class TestBinaryUUID extends BaseTestCase {
     assertEquals(one1.getName(), fetch1.getName());
 
     String sql = "select id, name from uuone";
-    List list = Ebean.createSqlQuery(sql).findList();
+    List list = DB.createSqlQuery(sql).findList();
     for (SqlRow sqlRow : list) {
       Object sqlId = sqlRow.get("id");
       assertNotNull(sqlId);
@@ -47,8 +47,8 @@ public class TestBinaryUUID extends BaseTestCase {
     }
 
 
-    String asJson = Ebean.json().toJson(fetch0);
-    UUOne bean = Ebean.json().toBean(UUOne.class, asJson);
+    String asJson = DB.json().toJson(fetch0);
+    UUOne bean = DB.json().toBean(UUOne.class, asJson);
 
     assertEquals(fetch0.getId(), bean.getId());
     assertEquals(fetch0.getName(), bean.getName());
diff --git a/src/test/java/org/tests/basic/TestM2MVanilla.java b/src/test/java/org/tests/basic/TestM2MVanilla.java
index 6eb8d2af2..536ebd9b8 100644
--- a/src/test/java/org/tests/basic/TestM2MVanilla.java
+++ b/src/test/java/org/tests/basic/TestM2MVanilla.java
@@ -1,13 +1,12 @@
 package org.tests.basic;
 
 import io.ebean.BaseTestCase;
-import io.ebean.Ebean;
+import io.ebean.DB;
 import io.ebean.Query;
-import io.ebean.SqlUpdate;
-import org.tests.model.basic.MRole;
-import org.tests.model.basic.MUser;
 import org.junit.Assert;
 import org.junit.Test;
+import org.tests.model.basic.MRole;
+import org.tests.model.basic.MUser;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -17,32 +16,28 @@ public class TestM2MVanilla extends BaseTestCase {
   @Test
   public void testVanilla() {
 
-    SqlUpdate delInt = Ebean.createSqlUpdate("delete from mrole_muser");
-    SqlUpdate delRoles = Ebean.createSqlUpdate("delete from mrole");
-    SqlUpdate delUsers = Ebean.createSqlUpdate("delete from muser");
-
-    Ebean.execute(delInt);
-    Ebean.execute(delRoles);
-    Ebean.execute(delUsers);
+    DB.createSqlUpdate("delete from mrole_muser").execute();
+    DB.sqlUpdate("delete from mrole").execute();
+    DB.sqlUpdate("delete from muser").execute();
 
     MRole r1 = new MRole();
     r1.setRoleName("role1");
-    Ebean.save(r1);
+    DB.save(r1);
 
     MRole r2 = new MRole();
     r2.setRoleName("role2");
-    Ebean.save(r2);
+    DB.save(r2);
 
     MRole r3 = new MRole();
     r3.setRoleName("role3");
-    Ebean.save(r3);
+    DB.save(r3);
 
     MUser u0 = new MUser();
     u0.setUserName("something");
 
-    Ebean.save(u0);
+    DB.save(u0);
 
-    MUser user = Ebean.find(MUser.class, u0.getUserid());
+    MUser user = DB.find(MUser.class, u0.getUserid());
 
     List roleList = new ArrayList<>();
     roleList.add(r1);
@@ -50,34 +45,34 @@ public class TestM2MVanilla extends BaseTestCase {
 
     user.setRoles(roleList);
 
-    Ebean.save(user);
+    DB.save(user);
     // Ebean.saveManyToManyAssociations(user, "roles");
 
-    MUser checkUser = Ebean.find(MUser.class, u0.getUserid());
+    MUser checkUser = DB.find(MUser.class, u0.getUserid());
     List checkRoles = checkUser.getRoles();
     Assert.assertNotNull(checkRoles);
     Assert.assertEquals(2, checkRoles.size());
 
     checkRoles.add(r3);
 
-    Ebean.save(checkUser);
+    DB.save(checkUser);
     // Ebean.saveManyToManyAssociations(checkUser, "roles");
 
-    MUser checkUser2 = Ebean.find(MUser.class, u0.getUserid());
+    MUser checkUser2 = DB.find(MUser.class, u0.getUserid());
     List checkRoles2 = checkUser2.getRoles();
     Assert.assertNotNull(checkRoles2);
     Assert.assertEquals("added a role", 3, checkRoles2.size());
 
-    Query rolesQuery0 = Ebean.find(MUser.class).where().eq("roles", r1).query();
+    Query rolesQuery0 = DB.find(MUser.class).where().eq("roles", r1).query();
 
     rolesQuery0.findList();
 
-    Query rolesQuery = Ebean.find(MUser.class).where().in("roles", roleList).query();
+    Query rolesQuery = DB.find(MUser.class).where().in("roles", roleList).query();
 
     List userInRolesList = rolesQuery.findList();
     Assert.assertTrue(!userInRolesList.isEmpty());
 
-    List list = Ebean.find(MUser.class)
+    List list = DB.find(MUser.class)
       .where().in("roles", roleList)
       .filterMany("roles").eq("roleName", "role1")
       .findList();
@@ -88,14 +83,14 @@ public class TestM2MVanilla extends BaseTestCase {
 
     checkRoles2.remove(0);
     checkRoles2.remove(0);
-    Ebean.save(checkUser2);
+    DB.save(checkUser2);
 
-    checkUser2 = Ebean.find(MUser.class, u0.getUserid());
+    checkUser2 = DB.find(MUser.class, u0.getUserid());
     checkRoles2 = checkUser2.getRoles();
     Assert.assertNotNull(checkRoles2);
     Assert.assertEquals("added a role", 1, checkRoles2.size());
 
-    Ebean.delete(checkUser2);
+    DB.delete(checkUser2);
 
   }
 
diff --git a/src/test/java/org/tests/basic/TestOrderTotalAmountSql.java b/src/test/java/org/tests/basic/TestOrderTotalAmountSql.java
index 3bc6fef55..9d6a26f36 100644
--- a/src/test/java/org/tests/basic/TestOrderTotalAmountSql.java
+++ b/src/test/java/org/tests/basic/TestOrderTotalAmountSql.java
@@ -1,11 +1,11 @@
 package org.tests.basic;
 
 import io.ebean.BaseTestCase;
-import io.ebean.Ebean;
+import io.ebean.DB;
 import io.ebean.SqlRow;
-import org.tests.model.basic.ResetBasicData;
 import org.junit.Assert;
 import org.junit.Test;
+import org.tests.model.basic.ResetBasicData;
 
 import java.util.List;
 
@@ -17,7 +17,7 @@ public class TestOrderTotalAmountSql extends BaseTestCase {
     ResetBasicData.reset();
 
     String sql = "select order_id, sum(order_qty*unit_price) as total_amount from o_order_detail  where order_qty > :minQty  group by order_id";
-    List sqlRows = Ebean.createSqlQuery(sql).setParameter("minQty", 1).findList();
+    List sqlRows = DB.sqlQuery(sql).setParameter("minQty", 1).findList();
 
     for (SqlRow sqlRow : sqlRows) {
       Integer id = sqlRow.getInteger("order_id");
diff --git a/src/test/java/org/tests/basic/encrypt/TestEncrypt.java b/src/test/java/org/tests/basic/encrypt/TestEncrypt.java
index 84c339b49..af60f0102 100644
--- a/src/test/java/org/tests/basic/encrypt/TestEncrypt.java
+++ b/src/test/java/org/tests/basic/encrypt/TestEncrypt.java
@@ -1,8 +1,7 @@
 package org.tests.basic.encrypt;
 
 import io.ebean.BaseTestCase;
-import io.ebean.Ebean;
-import io.ebean.SqlQuery;
+import io.ebean.DB;
 import io.ebean.SqlRow;
 import io.ebean.annotation.ForPlatform;
 import io.ebean.annotation.Platform;
@@ -26,7 +25,7 @@ public class TestEncrypt extends BaseTestCase {
   public void testQueryBind() {
 
     LoggedSqlCollector.start();
-    Ebean.find(EBasicEncrypt.class)
+    DB.find(EBasicEncrypt.class)
       .where().startsWith("description", "Rob")
       .findList();
 
@@ -39,23 +38,23 @@ public class TestEncrypt extends BaseTestCase {
   @ForPlatform(Platform.H2)
   public void test() {
 
-    Ebean.find(EBasicEncrypt.class).delete();
+    DB.find(EBasicEncrypt.class).delete();
 
     EBasicEncrypt e = new EBasicEncrypt();
     e.setName("testname");
     e.setDescription("testdesc");
     e.setDob(new Date(System.currentTimeMillis() - 100000));
 
-    Ebean.save(e);
+    DB.save(e);
 
-    SqlQuery q = Ebean.createSqlQuery("select * from e_basicenc where id = :id");
-    q.setParameter("id", e.getId());
+    SqlRow row = DB.createSqlQuery("select * from e_basicenc where id = :id")
+      .setParameter("id", e.getId())
+      .findOne();
 
-    SqlRow row = q.findOne();
     row.getString("name");
     row.get("description");
 
-    EBasicEncrypt e1 = Ebean.find(EBasicEncrypt.class, e.getId());
+    EBasicEncrypt e1 = DB.find(EBasicEncrypt.class, e.getId());
 
     e1.getDescription();
 
@@ -63,14 +62,14 @@ public class TestEncrypt extends BaseTestCase {
     e1.setDescription("moddesc");
     e1.setStatus(EBasicEncrypt.Status.ONE);
 
-    Ebean.save(e1);
+    DB.save(e1);
 
-    EBasicEncrypt e2 = Ebean.find(EBasicEncrypt.class, e.getId());
+    EBasicEncrypt e2 = DB.find(EBasicEncrypt.class, e.getId());
 
     assertEquals("moddesc", e2.getDescription());
     assertEquals(EBasicEncrypt.Status.ONE, e2.getStatus());
 
-    SpiEbeanServer server = (SpiEbeanServer) Ebean.getServer(null);
+    SpiEbeanServer server = (SpiEbeanServer) DB.getDefault();
     DbEncrypt dbEncrypt = server.getDatabasePlatform().getDbEncrypt();
 
     if (dbEncrypt == null) {
@@ -79,12 +78,12 @@ public class TestEncrypt extends BaseTestCase {
 
     } else {
 
-      List list = Ebean.find(EBasicEncrypt.class).where()
+      List list = DB.find(EBasicEncrypt.class).where()
         .eq("description", "moddesc").findList();
 
       assertEquals(1, list.size());
 
-      list = Ebean.find(EBasicEncrypt.class).where().startsWith("description", "modde").findList();
+      list = DB.find(EBasicEncrypt.class).where().startsWith("description", "modde").findList();
 
       assertEquals(1, list.size());
     }
diff --git a/src/test/java/org/tests/basic/encrypt/TestEncryptBinary.java b/src/test/java/org/tests/basic/encrypt/TestEncryptBinary.java
index 7378388e0..2a8e4224c 100644
--- a/src/test/java/org/tests/basic/encrypt/TestEncryptBinary.java
+++ b/src/test/java/org/tests/basic/encrypt/TestEncryptBinary.java
@@ -1,12 +1,11 @@
 package org.tests.basic.encrypt;
 
 import io.ebean.BaseTestCase;
-import io.ebean.Ebean;
-import io.ebean.SqlQuery;
+import io.ebean.DB;
 import io.ebean.SqlRow;
-import org.tests.model.basic.EBasicEncryptBinary;
 import org.junit.Assert;
 import org.junit.Test;
+import org.tests.model.basic.EBasicEncryptBinary;
 
 import java.sql.Timestamp;
 
@@ -22,17 +21,17 @@ public class TestEncryptBinary extends BaseTestCase {
     e.setSomeTime(t0);
     e.setData("HelloWorld".getBytes());
 
-    Ebean.save(e);
+    DB.save(e);
 
-    SqlQuery q = Ebean.createSqlQuery("select * from e_basicenc_bin where id = :id");
-    q.setParameter("id", e.getId());
+    SqlRow row = DB.createSqlQuery("select * from e_basicenc_bin where id = :id")
+      .setParameter("id", e.getId())
+      .findOne();
 
-    SqlRow row = q.findOne();
     row.getString("name");
     row.get("data");
     row.get("some_time");
 
-    EBasicEncryptBinary e1 = Ebean.find(EBasicEncryptBinary.class, e.getId());
+    EBasicEncryptBinary e1 = DB.find(EBasicEncryptBinary.class, e.getId());
 
     Timestamp t1 = e1.getSomeTime();
     e1.getData();
@@ -44,9 +43,9 @@ public class TestEncryptBinary extends BaseTestCase {
     e1.setName("testmod");
     e1.setDescription("moddesc");
 
-    Ebean.save(e1);
+    DB.save(e1);
 
-    EBasicEncryptBinary e2 = Ebean.find(EBasicEncryptBinary.class, e.getId());
+    EBasicEncryptBinary e2 = DB.find(EBasicEncryptBinary.class, e.getId());
     e2.getDescription();
   }
 
diff --git a/src/test/java/org/tests/basic/type/TestEnumValueAnnotation.java b/src/test/java/org/tests/basic/type/TestEnumValueAnnotation.java
index d15c76670..1489f1c52 100644
--- a/src/test/java/org/tests/basic/type/TestEnumValueAnnotation.java
+++ b/src/test/java/org/tests/basic/type/TestEnumValueAnnotation.java
@@ -1,15 +1,15 @@
 package org.tests.basic.type;
 
 import io.ebean.BaseTestCase;
-import io.ebean.Ebean;
+import io.ebean.DB;
 import io.ebean.SqlQuery;
 import io.ebean.SqlRow;
+import org.junit.Assert;
+import org.junit.Test;
 import org.tests.model.basic.EBasic;
 import org.tests.model.basic.EBasic.Status;
 import org.tests.model.basic.EBasicEnumId;
 import org.tests.model.basic.EBasicEnumInt;
-import org.junit.Assert;
-import org.junit.Test;
 
 import java.util.Optional;
 
@@ -25,26 +25,25 @@ public class TestEnumValueAnnotation extends BaseTestCase {
     b.setName("Banana");
     b.setStatus(Status.NEW);
 
-    Ebean.save(b);
+    DB.save(b);
 
-    SqlQuery q = Ebean.createSqlQuery("select * from e_basic where id = :id");
-    q.setParameter("id", b.getId());
+    SqlRow sqlRow = DB.createSqlQuery("select * from e_basic where id = :id")
+      .setParameter("id", b.getId())
+      .findOne();
 
-    SqlRow sqlRow = q.findOne();
     String strStatus = sqlRow.getString("status");
-
     assertEquals("N", strStatus);
 
     EBasic b2 = new EBasic();
     b2.setName("Apple");
     b2.setStatus(Status.NEW);
 
-    Ebean.save(b2);
+    DB.save(b2);
 
-    EBasic b3 = Ebean.find(EBasic.class, b2.getId());
+    EBasic b3 = DB.find(EBasic.class, b2.getId());
     b3.setName("Orange");
 
-    Ebean.save(b3);
+    DB.save(b3);
   }
 
   @Test
@@ -53,9 +52,9 @@ public class TestEnumValueAnnotation extends BaseTestCase {
     b.setName("Banana");
     b.setStatus(EBasicEnumId.Status.NEW);
 
-    Ebean.save(b);
+    DB.save(b);
 
-    SqlQuery q = Ebean.createSqlQuery("select * from e_basic_enum_id where status = :status");
+    SqlQuery q = DB.createSqlQuery("select * from e_basic_enum_id where status = :status");
     q.setParameter("status", b.getStatus());
 
     SqlRow sqlRow = q.findOne();
@@ -64,7 +63,7 @@ public class TestEnumValueAnnotation extends BaseTestCase {
     assertEquals("N", strStatus);
 
     try {
-      b = Ebean.find(EBasicEnumId.class, b.getStatus());
+      b = DB.find(EBasicEnumId.class, b.getStatus());
     } catch (java.lang.IllegalArgumentException iae) {
       Assert.fail("The use of an enum as id should work : " + iae.getLocalizedMessage());
     }
@@ -79,9 +78,9 @@ public class TestEnumValueAnnotation extends BaseTestCase {
     b.setName("Banana");
     b.setStatus(EBasicEnumInt.Status.NEW);
 
-    Ebean.save(b);
+    DB.save(b);
 
-    SqlQuery q = Ebean.createSqlQuery("select * from e_basic_eni where id = :id");
+    SqlQuery q = DB.createSqlQuery("select * from e_basic_eni where id = :id");
     q.setParameter("id", b.getId());
 
     Optional sqlRow = q.findOneOrEmpty();
@@ -91,7 +90,7 @@ public class TestEnumValueAnnotation extends BaseTestCase {
     });
 
 
-    EBasicEnumInt b2 = Ebean.find(EBasicEnumInt.class)
+    EBasicEnumInt b2 = DB.find(EBasicEnumInt.class)
       .where().eq("id", b.getId())
       .eq("status", EBasicEnumInt.Status.NEW)
       .findOne();