http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
new file mode 100644
index 0000000..e27e6a5
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
@@ -0,0 +1,129 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+import org.apache.cayenne.unit.UnitDbAdapter;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
+public class DataContextEJBQLQueryCompoundIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private DBHelper dbHelper;
+
+    @Inject
+    private UnitDbAdapter accessStackAdapter;
+
+    private TableHelper tCompoundPk;
+    private TableHelper tCompoundFk;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("COMPOUND_FK_TEST");
+        dbHelper.deleteAll("COMPOUND_PK_TEST");
+
+        tCompoundPk = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
+        tCompoundPk.setColumns("KEY1", "KEY2");
+
+        tCompoundFk = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
+        tCompoundFk.setColumns("PKEY", "F_KEY1", "F_KEY2");
+    }
+
+    private void createTwoCompoundPKTwoFK() throws Exception {
+        tCompoundPk.insert("a1", "a2");
+        tCompoundPk.insert("b1", "b2");
+        tCompoundFk.insert(33001, "a1", "a2");
+        tCompoundFk.insert(33002, "b1", "b2");
+    }
+
+    @Test
+    public void testSelectFromWhereMatchOnMultiColumnObject() throws Exception 
{
+        createTwoCompoundPKTwoFK();
+
+        Map<String, String> key1 = new HashMap<String, String>();
+        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
+        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                key1);
+
+        String ejbql = "select e from CompoundFkTestEntity e WHERE 
e.toCompoundPk = :param";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("param", a);
+
+        List<?> ps = context.performQuery(query);
+        assertEquals(1, ps.size());
+
+        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
+        assertEquals(33002, Cayenne.intPKForObject(o1));
+    }
+
+    @Test
+    public void testSelectFromWhereMatchOnMultiColumnObjectReverse() throws 
Exception {
+        if (!accessStackAdapter.supportsReverseComparison()) {
+            return;
+        }
+
+        createTwoCompoundPKTwoFK();
+
+        Map<String, String> key1 = new HashMap<String, String>();
+        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
+        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                key1);
+
+        String ejbql = "select e from CompoundFkTestEntity e WHERE :param = 
e.toCompoundPk";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("param", a);
+
+        List<?> ps = context.performQuery(query);
+        assertEquals(1, ps.size());
+
+        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
+        assertEquals(33002, Cayenne.intPKForObject(o1));
+    }
+
+    @Test
+    public void testSelectFromWhereNoMatchOnMultiColumnObject() throws 
Exception {
+        createTwoCompoundPKTwoFK();
+
+        Map<String, String> key1 = new HashMap<String, String>();
+        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
+        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                key1);
+
+        String ejbql = "select e from CompoundFkTestEntity e WHERE 
e.toCompoundPk <> :param";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("param", a);
+
+        List<?> ps = context.performQuery(query);
+        assertEquals(1, ps.size());
+
+        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
+        assertEquals(33001, Cayenne.intPKForObject(o1));
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
index 6e32995..a61cf18 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
@@ -29,8 +29,6 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.test.junit.AssertExtras;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
@@ -39,11 +37,9 @@ import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Types;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 
 import static org.junit.Assert.assertEquals;
@@ -64,8 +60,6 @@ public class DataContextEJBQLQueryIT extends ServerCase {
 
     private TableHelper tArtist;
     private TableHelper tPainting;
-    private TableHelper tCompoundPk;
-    private TableHelper tCompoundFk;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
@@ -74,8 +68,6 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("COMPOUND_FK_TEST");
-        dbHelper.deleteAll("COMPOUND_PK_TEST");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
@@ -90,12 +82,6 @@ public class DataContextEJBQLQueryIT extends ServerCase {
                 Types.BIGINT,
                 Types.VARCHAR,
                 Types.DECIMAL);
-
-        tCompoundPk = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
-        tCompoundPk.setColumns("KEY1", "KEY2");
-
-        tCompoundFk = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
-        tCompoundFk.setColumns("PKEY", "F_KEY1", "F_KEY2");
     }
 
     private void createFourArtistsTwoPaintings() throws Exception {
@@ -107,13 +93,6 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         tPainting.insert(33002, 33002, "P2", 5000);
     }
 
-    private void createTwoCompoundPKTwoFK() throws Exception {
-        tCompoundPk.insert("a1", "a2");
-        tCompoundPk.insert("b1", "b2");
-        tCompoundFk.insert(33001, "a1", "a2");
-        tCompoundFk.insert(33002, "b1", "b2");
-    }
-
     /**
      * CAY-899: Checks that aggregate results do not cause callbacks execution.
      */
@@ -494,76 +473,4 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject(p));
     }
 
-    @Test
-    public void testSelectFromWhereMatchOnMultiColumnObject() throws Exception 
{
-        createTwoCompoundPKTwoFK();
-
-        Map<String, String> key1 = new HashMap<String, String>();
-        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
-        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                key1);
-
-        String ejbql = "select e from CompoundFkTestEntity e WHERE 
e.toCompoundPk = :param";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("param", a);
-
-        List<?> ps = context.performQuery(query);
-        assertEquals(1, ps.size());
-
-        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
-        assertEquals(33002, Cayenne.intPKForObject(o1));
-    }
-
-    @Test
-    public void testSelectFromWhereMatchOnMultiColumnObjectReverse() throws 
Exception {
-        if (!accessStackAdapter.supportsReverseComparison()) {
-            return;
-        }
-
-        createTwoCompoundPKTwoFK();
-
-        Map<String, String> key1 = new HashMap<String, String>();
-        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
-        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                key1);
-
-        String ejbql = "select e from CompoundFkTestEntity e WHERE :param = 
e.toCompoundPk";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("param", a);
-
-        List<?> ps = context.performQuery(query);
-        assertEquals(1, ps.size());
-
-        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
-        assertEquals(33002, Cayenne.intPKForObject(o1));
-    }
-
-    @Test
-    public void testSelectFromWhereNoMatchOnMultiColumnObject() throws 
Exception {
-        createTwoCompoundPKTwoFK();
-
-        Map<String, String> key1 = new HashMap<String, String>();
-        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
-        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                key1);
-
-        String ejbql = "select e from CompoundFkTestEntity e WHERE 
e.toCompoundPk <> :param";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("param", a);
-
-        List<?> ps = context.performQuery(query);
-        assertEquals(1, ps.size());
-
-        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
-        assertEquals(33001, Cayenne.intPKForObject(o1));
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
new file mode 100644
index 0000000..b85c3a0
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
@@ -0,0 +1,87 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.QueryResponse;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
+public class DataContextEJBQLUpdateCompoundIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private DBHelper dbHelper;
+
+    private TableHelper tCompoundPk;
+    private TableHelper tCompoundFk;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("COMPOUND_FK_TEST");
+        dbHelper.deleteAll("COMPOUND_PK_TEST");
+
+        tCompoundPk = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
+        tCompoundPk.setColumns("KEY1", "KEY2");
+
+        tCompoundFk = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
+        tCompoundFk.setColumns("PKEY", "F_KEY1", "F_KEY2");
+    }
+
+    private void createTwoCompoundPKTwoFK() throws Exception {
+        tCompoundPk.insert("a1", "a2");
+        tCompoundPk.insert("b1", "b2");
+        tCompoundFk.insert(33001, "a1", "a2");
+        tCompoundFk.insert(33002, "b1", "b2");
+    }
+
+    @Test
+    public void testUpdateNoQualifierToOneCompoundPK() throws Exception {
+        createTwoCompoundPKTwoFK();
+
+        Map<String, String> key1 = new HashMap<String, String>();
+        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
+        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
+        CompoundPkTestEntity object = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                key1);
+
+        EJBQLQuery check = new EJBQLQuery(
+                "select count(e) from CompoundFkTestEntity e WHERE 
e.toCompoundPk <> :param");
+        check.setParameter("param", object);
+
+        Object notUpdated = Cayenne.objectForQuery(context, check);
+        assertEquals(new Long(1l), notUpdated);
+
+        String ejbql = "UPDATE CompoundFkTestEntity e SET e.toCompoundPk = 
:param";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("param", object);
+
+        QueryResponse result = context.performGenericQuery(query);
+
+        int[] count = result.firstUpdateCount();
+        assertNotNull(count);
+        assertEquals(1, count.length);
+        assertEquals(2, count[0]);
+
+        notUpdated = Cayenne.objectForQuery(context, check);
+        assertEquals(new Long(0l), notUpdated);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
index 3de1db8..fad0256 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
@@ -26,15 +26,11 @@ import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.BooleanTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
-import java.util.HashMap;
-import java.util.Map;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -50,19 +46,14 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
 
     private TableHelper tArtist;
     private TableHelper tPainting;
-    private TableHelper tCompoundPk;
-    private TableHelper tCompoundFk;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
-        dbHelper.deleteAll("BOOLEAN_TEST");
         dbHelper.deleteAll("PAINTING_INFO");
         dbHelper.deleteAll("PAINTING");
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("COMPOUND_FK_TEST");
-        dbHelper.deleteAll("COMPOUND_PK_TEST");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
@@ -78,11 +69,6 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
                 Types.VARCHAR,
                 Types.DECIMAL);
 
-        tCompoundPk = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
-        tCompoundPk.setColumns("KEY1", "KEY2");
-
-        tCompoundFk = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
-        tCompoundFk.setColumns("PKEY", "F_KEY1", "F_KEY2");
     }
 
     private void createThreeArtistsTwoPaintings() throws Exception {
@@ -93,13 +79,6 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         tPainting.insert(33002, 33002, "P2", 5000);
     }
 
-    private void createTwoCompoundPKTwoFK() throws Exception {
-        tCompoundPk.insert("a1", "a2");
-        tCompoundPk.insert("b1", "b2");
-        tCompoundFk.insert(33001, "a1", "a2");
-        tCompoundFk.insert(33002, "b1", "b2");
-    }
-
     @Test
     public void testUpdateQualifier() throws Exception {
         createThreeArtistsTwoPaintings();
@@ -247,40 +226,6 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
     }
 
     @Test
-    public void testUpdateNoQualifierBoolean() throws Exception {
-
-        BooleanTestEntity o1 = context.newObject(BooleanTestEntity.class);
-        o1.setBooleanColumn(Boolean.TRUE);
-
-        BooleanTestEntity o2 = context.newObject(BooleanTestEntity.class);
-        o2.setBooleanColumn(Boolean.FALSE);
-
-        BooleanTestEntity o3 = context.newObject(BooleanTestEntity.class);
-        o3.setBooleanColumn(Boolean.FALSE);
-
-        context.commitChanges();
-
-        EJBQLQuery check = new EJBQLQuery("select count(p) from 
BooleanTestEntity p "
-                + "WHERE p.booleanColumn = true");
-
-        Object notUpdated = Cayenne.objectForQuery(context, check);
-        assertEquals(new Long(1l), notUpdated);
-
-        String ejbql = "UPDATE BooleanTestEntity AS p SET p.booleanColumn = 
true";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-
-        QueryResponse result = context.performGenericQuery(query);
-
-        int[] count = result.firstUpdateCount();
-        assertNotNull(count);
-        assertEquals(1, count.length);
-        assertEquals(3, count[0]);
-
-        notUpdated = Cayenne.objectForQuery(context, check);
-        assertEquals(new Long(3l), notUpdated);
-    }
-
-    @Test
     public void testUpdateNoQualifierToOne() throws Exception {
         createThreeArtistsTwoPaintings();
 
@@ -308,38 +253,4 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         assertEquals(new Long(0l), notUpdated);
     }
 
-    @Test
-    public void testUpdateNoQualifierToOneCompoundPK() throws Exception {
-        createTwoCompoundPKTwoFK();
-
-        Map<String, String> key1 = new HashMap<String, String>();
-        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
-        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
-        CompoundPkTestEntity object = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                key1);
-
-        EJBQLQuery check = new EJBQLQuery(
-                "select count(e) from CompoundFkTestEntity e WHERE 
e.toCompoundPk <> :param");
-        check.setParameter("param", object);
-
-        Object notUpdated = Cayenne.objectForQuery(context, check);
-        assertEquals(new Long(1l), notUpdated);
-
-        String ejbql = "UPDATE CompoundFkTestEntity e SET e.toCompoundPk = 
:param";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("param", object);
-
-        QueryResponse result = context.performGenericQuery(query);
-
-        int[] count = result.firstUpdateCount();
-        assertNotNull(count);
-        assertEquals(1, count.length);
-        assertEquals(2, count[0]);
-
-        notUpdated = Cayenne.objectForQuery(context, check);
-        assertEquals(new Long(0l), notUpdated);
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
index 7b8483d..34be732 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
@@ -27,8 +27,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectIdQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.MeaningfulPKDep;
-import org.apache.cayenne.testdo.testmap.MeaningfulPKTest1;
+import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep;
+import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.MEANINGFUL_PK_PROJECT)
 public class DataContextEntityWithMeaningfulPKIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
index 24fa4e4..594ef1f 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
@@ -26,8 +26,8 @@ import org.apache.cayenne.query.CapsStrategy;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ExtendedTypeEntity;
-import org.apache.cayenne.testdo.testmap.StringET1;
+import org.apache.cayenne.testdo.extended_type.ExtendedTypeEntity;
+import org.apache.cayenne.testdo.extended_type.StringET1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -36,7 +36,7 @@ import java.util.Arrays;
 
 import static org.junit.Assert.assertEquals;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.EXTENDED_TYPE_PROJECT)
 public class DataContextExtendedTypeOperationsIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
index 9da593e..0e23a8d 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
@@ -25,7 +25,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.NoPkTestEntity;
+import org.apache.cayenne.testdo.no_pk.NoPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.NO_PK_PROJECT)
 public class DataContextNoPkIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
index 12454bb..06cc7bd 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
@@ -31,10 +31,10 @@ import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.query.SortOrder;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.CharFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CharPkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
+import org.apache.cayenne.testdo.compound.CharFkTestEntity;
+import org.apache.cayenne.testdo.compound.CharPkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -50,7 +50,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Test prefetching of various obscure cases.
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
 public class DataContextPrefetchExtrasIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
index 75eb08e..8a6267d 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
@@ -51,10 +51,10 @@ import static org.junit.Assert.assertTrue;
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextProcedureQueryIT extends ServerCase {
 
-    public static final String UPDATE_STORED_PROCEDURE = 
"cayenne_tst_upd_proc";
-    public static final String UPDATE_STORED_PROCEDURE_NOPARAM = 
"cayenne_tst_upd_proc2";
-    public static final String SELECT_STORED_PROCEDURE = 
"cayenne_tst_select_proc";
-    public static final String OUT_STORED_PROCEDURE = "cayenne_tst_out_proc";
+    public static final String UPDATE_STORED_PROCEDURE = 
"cayenne_test_upd_proc";
+    public static final String UPDATE_STORED_PROCEDURE_NOPARAM = 
"cayenne_test_upd_proc2";
+    public static final String SELECT_STORED_PROCEDURE = 
"cayenne_test_select_proc";
+    public static final String OUT_STORED_PROCEDURE = "cayenne_test_out_proc";
 
     @Inject
     private DataContext context;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
new file mode 100644
index 0000000..6e84aee
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
@@ -0,0 +1,105 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.CapsStrategy;
+import org.apache.cayenne.query.SQLTemplate;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
+public class DataContextSQLTemplateCompoundIT extends ServerCase {
+
+    @Inject
+    protected DataContext context;
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    protected TableHelper tCompoundPkTest;
+    protected TableHelper tCompoundFkTest;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("COMPOUND_FK_TEST");
+        dbHelper.deleteAll("COMPOUND_PK_TEST");
+
+        tCompoundPkTest = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
+        tCompoundPkTest.setColumns("KEY1", "KEY2");
+
+        tCompoundFkTest = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
+        tCompoundFkTest.setColumns("PKEY", "F_KEY1", "F_KEY2");
+    }
+
+    protected void createTwoCompoundPKsAndCompoundFKsDataSet() throws 
Exception {
+        tCompoundPkTest.insert("a1", "a2");
+        tCompoundPkTest.insert("b1", "b2");
+
+        tCompoundFkTest.insert(6, "a1", "a2");
+        tCompoundFkTest.insert(7, "b1", "b2");
+    }
+
+    @Test
+    public void testBindObjectEqualCompound() throws Exception {
+        createTwoCompoundPKsAndCompoundFKsDataSet();
+
+        Map<String, String> pk = new HashMap<String, String>();
+        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "a1");
+        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "a2");
+
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                pk);
+
+        String template = "SELECT * FROM COMPOUND_FK_TEST t0"
+                + " WHERE #bindObjectEqual($a [ 't0.F_KEY1', 't0.F_KEY2' ] [ 
'KEY1', 'KEY2' ] ) ORDER BY PKEY";
+        SQLTemplate query = new SQLTemplate(CompoundFkTestEntity.class, 
template);
+        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
+        query.setParameters(Collections.singletonMap("a", a));
+
+        List<CompoundFkTestEntity> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+
+        CompoundFkTestEntity p = objects.get(0);
+        assertEquals(6, Cayenne.intPKForObject(p));
+    }
+
+    @Test
+    public void testBindObjectNotEqualCompound() throws Exception {
+        createTwoCompoundPKsAndCompoundFKsDataSet();
+
+        Map<String, String> pk = new HashMap<String, String>();
+        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "a1");
+        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "a2");
+
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                pk);
+
+        String template = "SELECT * FROM COMPOUND_FK_TEST t0"
+                + " WHERE #bindObjectNotEqual($a [ 't0.F_KEY1', 't0.F_KEY2' ] 
[ 'KEY1', 'KEY2' ] ) ORDER BY PKEY";
+        SQLTemplate query = new SQLTemplate(CompoundFkTestEntity.class, 
template);
+        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
+        query.setParameters(Collections.singletonMap("a", a));
+
+        List<CompoundFkTestEntity> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+
+        CompoundFkTestEntity p = objects.get(0);
+        assertEquals(7, Cayenne.intPKForObject(p));
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
index a88f2d4..58c48f5 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
@@ -34,8 +34,6 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -44,9 +42,7 @@ import org.junit.Test;
 
 import java.sql.Types;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -69,8 +65,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
 
     protected TableHelper tPainting;
     protected TableHelper tArtist;
-    protected TableHelper tCompoundPkTest;
-    protected TableHelper tCompoundFkTest;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
@@ -79,8 +73,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("COMPOUND_FK_TEST");
-        dbHelper.deleteAll("COMPOUND_PK_TEST");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
@@ -95,12 +87,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
                 Types.VARCHAR,
                 Types.BIGINT,
                 Types.DECIMAL);
-
-        tCompoundPkTest = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
-        tCompoundPkTest.setColumns("KEY1", "KEY2");
-
-        tCompoundFkTest = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
-        tCompoundFkTest.setColumns("PKEY", "F_KEY1", "F_KEY2");
     }
 
     protected void createFourArtists() throws Exception {
@@ -118,14 +104,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
         tPainting.insert(8, "p_artist4", null, 3000);
     }
 
-    protected void createTwoCompoundPKsAndCompoundFKsDataSet() throws 
Exception {
-        tCompoundPkTest.insert("a1", "a2");
-        tCompoundPkTest.insert("b1", "b2");
-
-        tCompoundFkTest.insert(6, "a1", "a2");
-        tCompoundFkTest.insert(7, "b1", "b2");
-    }
-
     @Test
     public void testSQLResultSetMappingMixed() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
@@ -135,7 +113,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
                 + "GROUP BY t0.ARTIST_ID, t0.ARTIST_NAME, t0.DATE_OF_BIRTH "
                 + "ORDER BY t0.ARTIST_ID";
 
-        DataMap map = context.getEntityResolver().getDataMap("tstmap");
+        DataMap map = context.getEntityResolver().getDataMap("testmap");
         SQLTemplate query = new SQLTemplate(map, sql, false);
         query.setColumnNamesCapitalization(CapsStrategy.UPPER);
 
@@ -175,7 +153,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         createFourArtists();
         
         SQLTemplate query = new SQLTemplate("SELECT * FROM ARTIST", true);
-        query.setDataNodeName("tstmap");
+        query.setDataNodeName("testmap");
         assertEquals(4, context.performQuery(query).size());
     }
 
@@ -192,7 +170,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
 
         String sql = "SELECT count(1) AS X FROM ARTIST";
 
-        DataMap map = context.getEntityResolver().getDataMap("tstmap");
+        DataMap map = context.getEntityResolver().getDataMap("testmap");
         SQLTemplate query = new SQLTemplate(map, sql, false);
         query.setTemplate(
                 FrontBaseAdapter.class.getName(),
@@ -220,7 +198,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
 
         String sql = "SELECT count(1) AS X, 77 AS Y FROM ARTIST";
 
-        DataMap map = context.getEntityResolver().getDataMap("tstmap");
+        DataMap map = context.getEntityResolver().getDataMap("testmap");
         SQLTemplate query = new SQLTemplate(map, sql, false);
         query.setTemplate(
                 FrontBaseAdapter.class.getName(),
@@ -437,58 +415,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
     }
 
     @Test
-    public void testBindObjectEqualCompound() throws Exception {
-        createTwoCompoundPKsAndCompoundFKsDataSet();
-
-        Map<String, String> pk = new HashMap<String, String>();
-        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "a1");
-        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "a2");
-
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                pk);
-
-        String template = "SELECT * FROM COMPOUND_FK_TEST t0"
-                + " WHERE #bindObjectEqual($a [ 't0.F_KEY1', 't0.F_KEY2' ] [ 
'KEY1', 'KEY2' ] ) ORDER BY PKEY";
-        SQLTemplate query = new SQLTemplate(CompoundFkTestEntity.class, 
template);
-        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
-        query.setParameters(Collections.singletonMap("a", a));
-
-        List<CompoundFkTestEntity> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-
-        CompoundFkTestEntity p = objects.get(0);
-        assertEquals(6, Cayenne.intPKForObject(p));
-    }
-
-    @Test
-    public void testBindObjectNotEqualCompound() throws Exception {
-        createTwoCompoundPKsAndCompoundFKsDataSet();
-
-        Map<String, String> pk = new HashMap<String, String>();
-        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "a1");
-        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "a2");
-
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                pk);
-
-        String template = "SELECT * FROM COMPOUND_FK_TEST t0"
-                + " WHERE #bindObjectNotEqual($a [ 't0.F_KEY1', 't0.F_KEY2' ] 
[ 'KEY1', 'KEY2' ] ) ORDER BY PKEY";
-        SQLTemplate query = new SQLTemplate(CompoundFkTestEntity.class, 
template);
-        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
-        query.setParameters(Collections.singletonMap("a", a));
-
-        List<CompoundFkTestEntity> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-
-        CompoundFkTestEntity p = objects.get(0);
-        assertEquals(7, Cayenne.intPKForObject(p));
-    }
-
-    @Test
     public void testBindObjectNotEqualNull() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
index f6a5ba2..75c3812 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.NamedQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.CalendarEntity;
-import org.apache.cayenne.testdo.testmap.DateTestEntity;
+import org.apache.cayenne.testdo.date_time.CalendarEntity;
+import org.apache.cayenne.testdo.date_time.DateTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Tests Date handling in Cayenne.
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.DATE_TIME_PROJECT)
 public class DateTimeTypesIT extends ServerCase {
 
     @Inject
@@ -203,6 +203,7 @@ public class DateTimeTypesIT extends ServerCase {
         NamedQuery q = new NamedQuery("SelectDateTest");
         DataRow testRead = (DataRow) context.performQuery(q).get(0);
         Date columnValue = (Date) testRead.get("TIME_COLUMN");
+        assertNotNull(testRead.toString(), columnValue);
         assertNotNull(columnValue);
         assertEquals(now.toString(), new 
Time(columnValue.getTime()).toString());
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
index 9a003c3..ffa489b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
@@ -52,7 +52,7 @@ public class DbGeneratorIT extends ServerCase {
     protected void setUpAfterInjection() throws Exception {
         generator = new DbGenerator(adapter, runtime
                 .getDataDomain()
-                .getDataMap("tstmap"), logger);
+                .getDataMap("testmap"), logger);
     }
 
     @Test
@@ -62,7 +62,7 @@ public class DbGeneratorIT extends ServerCase {
 
     @Test
     public void testPkFilteringLogic() throws Exception {
-        DataMap map = runtime.getDataDomain().getDataMap("tstmap");
+        DataMap map = runtime.getDataDomain().getDataMap("testmap");
         DbEntity artistExhibit = map.getDbEntity("ARTIST_EXHIBIT");
         DbEntity exhibit = map.getDbEntity("EXHIBIT");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
index b25267c..7b6e1a8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
@@ -27,8 +27,8 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.Enum1;
-import org.apache.cayenne.testdo.testmap.EnumEntity;
+import org.apache.cayenne.testdo.enum_test.Enum1;
+import org.apache.cayenne.testdo.enum_test.EnumEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -36,7 +36,7 @@ import org.junit.Test;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.ENUM_PROJECT)
 public class EnumIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
index bbd3787..b98eed7 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
@@ -30,13 +30,13 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnDep;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnTest2;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity;
-import org.apache.cayenne.testdo.testmap.GeneratedF1;
-import org.apache.cayenne.testdo.testmap.GeneratedF2;
+import org.apache.cayenne.testdo.generated.GeneratedColumnCompKey;
+import org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster;
+import org.apache.cayenne.testdo.generated.GeneratedColumnDep;
+import org.apache.cayenne.testdo.generated.GeneratedColumnTest2;
+import org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity;
+import org.apache.cayenne.testdo.generated.GeneratedF1;
+import org.apache.cayenne.testdo.generated.GeneratedF2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -48,7 +48,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.GENERATED_PROJECT)
 public class IdentityColumnsIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
index d1da777..c43dbb0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ArraysEntity;
-import org.apache.cayenne.testdo.testmap.CharacterEntity;
-import org.apache.cayenne.testdo.testmap.SerializableEntity;
+import org.apache.cayenne.testdo.misc_types.ArraysEntity;
+import org.apache.cayenne.testdo.misc_types.CharacterEntity;
+import org.apache.cayenne.testdo.misc_types.SerializableEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.MISC_TYPES_PROJECT)
 public class MiscTypesIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
index e18f218..c0e30ef 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
@@ -27,15 +27,15 @@ import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.BigDecimalEntity;
-import org.apache.cayenne.testdo.testmap.BigIntegerEntity;
-import org.apache.cayenne.testdo.testmap.BitTestEntity;
-import org.apache.cayenne.testdo.testmap.BooleanTestEntity;
-import org.apache.cayenne.testdo.testmap.DecimalPKTest1;
-import org.apache.cayenne.testdo.testmap.DecimalPKTestEntity;
-import org.apache.cayenne.testdo.testmap.LongEntity;
-import org.apache.cayenne.testdo.testmap.SmallintTestEntity;
-import org.apache.cayenne.testdo.testmap.TinyintTestEntity;
+import org.apache.cayenne.testdo.numeric_types.BigDecimalEntity;
+import org.apache.cayenne.testdo.numeric_types.BigIntegerEntity;
+import org.apache.cayenne.testdo.numeric_types.BitTestEntity;
+import org.apache.cayenne.testdo.numeric_types.BooleanTestEntity;
+import org.apache.cayenne.testdo.numeric_types.DecimalPKTest1;
+import org.apache.cayenne.testdo.numeric_types.DecimalPKTestEntity;
+import org.apache.cayenne.testdo.numeric_types.LongEntity;
+import org.apache.cayenne.testdo.numeric_types.SmallintTestEntity;
+import org.apache.cayenne.testdo.numeric_types.TinyintTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -51,7 +51,7 @@ import static org.junit.Assert.assertSame;
 
 /**
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.NUMERIC_TYPES_PROJECT)
 public class NumericTypesIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
index 206c90d..a7cef30 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
@@ -20,12 +20,12 @@ package org.apache.cayenne.access;
 
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.PrimitivesTestEntity;
+import org.apache.cayenne.testdo.primitive.PrimitivesTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.PRIMITIVE_PROJECT)
 public class PrimitiveAttributesIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
index 9b61b6a..ba5b085 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
@@ -23,10 +23,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.NamedQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.DateTestEntity;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMap1;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMap2;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMapLobs1;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMap1;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMap2;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMapLobs1;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -45,7 +44,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Test Types mapping for selected columns
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.RETURN_TYPES_PROJECT)
 public class ReturnTypesMappingIT extends ServerCase {
 
     @Inject
@@ -64,7 +63,6 @@ public class ReturnTypesMappingIT extends ServerCase {
             dbHelper.deleteAll("TYPES_MAPPING_TEST2");
         }
         dbHelper.deleteAll("TYPES_MAPPING_TEST1");
-        dbHelper.deleteAll("DATE_TEST");
     }
 
     /*
@@ -738,28 +736,6 @@ public class ReturnTypesMappingIT extends ServerCase {
     }
 
     @Test
-    public void testSQLTemplateTime() throws Exception {
-        DateTestEntity test = (DateTestEntity) 
context.newObject("DateTestEntity");
-
-        Calendar cal = Calendar.getInstance();
-        cal.clear();
-        cal.set(2003, 1, 1, 1, 20, 30);
-
-        // most databases fail millisecond accuracy
-        // cal.set(Calendar.MILLISECOND, 55);
-
-        Time now = new Time(cal.getTime().getTime());
-        test.setTimeColumn(now);
-        context.commitChanges();
-
-        NamedQuery q = new NamedQuery("SelectDateTest");
-        DataRow testRead = (DataRow) context.performQuery(q).get(0);
-        Date columnValue = (Date) testRead.get("TIME_COLUMN");
-        assertNotNull(testRead.toString(), columnValue);
-        assertEquals(now.toString(), new 
Time(columnValue.getTime()).toString());
-    }
-
-    @Test
     public void testTIMESTAMP() throws Exception {
         String columnName = "TIMESTAMP_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
index 45ab106..dfea01e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.UuidPkEntity;
-import org.apache.cayenne.testdo.testmap.UuidTestEntity;
+import org.apache.cayenne.testdo.uuid.UuidPkEntity;
+import org.apache.cayenne.testdo.uuid.UuidTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -35,7 +35,7 @@ import java.util.UUID;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.UUID_PROJECT)
 public class UUIDIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
new file mode 100644
index 0000000..263942a
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
@@ -0,0 +1,70 @@
+package org.apache.cayenne.access.jdbc;
+
+import org.apache.cayenne.access.DataNode;
+import org.apache.cayenne.access.jdbc.reader.RowReaderFactory;
+import org.apache.cayenne.configuration.server.ServerRuntime;
+import org.apache.cayenne.dba.JdbcAdapter;
+import org.apache.cayenne.di.AdhocObjectFactory;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.query.InsertBatchQuery;
+import org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+
+@UseServerRuntime(ServerCase.GENERATED_PROJECT)
+public class BatchActionGeneratedIT extends ServerCase {
+
+    @Inject
+    private ServerRuntime runtime;
+
+    @Inject
+    private AdhocObjectFactory objectFactory;
+
+    @Test
+    public void testHasGeneratedKeys1() throws Exception {
+        EntityResolver resolver = runtime.getChannel().getEntityResolver();
+
+        // test with adapter that supports keys
+        JdbcAdapter adapter = buildAdapter(true);
+
+        InsertBatchQuery batch1 = new 
InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
+                .getDbEntity(), 5);
+
+        DataNode node = new DataNode();
+        node.setAdapter(adapter);
+        node.setEntityResolver(resolver);
+        node.setRowReaderFactory(mock(RowReaderFactory.class));
+
+        assertTrue(new BatchAction(batch1, node, false).hasGeneratedKeys());
+    }
+
+    @Test
+    public void testHasGeneratedKeys2() throws Exception {
+        EntityResolver resolver = runtime.getChannel().getEntityResolver();
+
+        // test with adapter that does not support keys...
+        JdbcAdapter adapter = buildAdapter(false);
+
+        InsertBatchQuery batch1 = new 
InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
+                .getDbEntity(), 5);
+
+        DataNode node = new DataNode();
+        node.setAdapter(adapter);
+        node.setEntityResolver(resolver);
+        node.setRowReaderFactory(mock(RowReaderFactory.class));
+
+        assertFalse(new BatchAction(batch1, node, false).hasGeneratedKeys());
+    }
+
+    JdbcAdapter buildAdapter(boolean supportGeneratedKeys) {
+        JdbcAdapter adapter = objectFactory.newInstance(JdbcAdapter.class, 
JdbcAdapter.class.getName());
+        adapter.setSupportsGeneratedKeys(supportGeneratedKeys);
+        return adapter;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
index 51bd248..3a72e1e 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
@@ -28,13 +28,11 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.InsertBatchQuery;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
@@ -53,15 +51,11 @@ public class BatchActionIT extends ServerCase {
         // test with adapter that supports keys
         JdbcAdapter adapter = buildAdapter(true);
 
-        InsertBatchQuery batch1 = new 
InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
-                .getDbEntity(), 5);
         DataNode node = new DataNode();
         node.setAdapter(adapter);
         node.setEntityResolver(resolver);
         node.setRowReaderFactory(mock(RowReaderFactory.class));
 
-        assertTrue(new BatchAction(batch1, node, false).hasGeneratedKeys());
-
         InsertBatchQuery batch2 = new 
InsertBatchQuery(resolver.getObjEntity(Artist.class).getDbEntity(), 5);
         assertFalse(new BatchAction(batch2, node, false).hasGeneratedKeys());
     }
@@ -73,16 +67,11 @@ public class BatchActionIT extends ServerCase {
         // test with adapter that does not support keys...
         JdbcAdapter adapter = buildAdapter(false);
 
-        InsertBatchQuery batch1 = new 
InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
-                .getDbEntity(), 5);
-
         DataNode node = new DataNode();
         node.setAdapter(adapter);
         node.setEntityResolver(resolver);
         node.setRowReaderFactory(mock(RowReaderFactory.class));
 
-        assertFalse(new BatchAction(batch1, node, false).hasGeneratedKeys());
-
         InsertBatchQuery batch2 = new 
InsertBatchQuery(resolver.getObjEntity(Artist.class).getDbEntity(), 5);
         assertFalse(new BatchAction(batch2, node, false).hasGeneratedKeys());
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
index 48ddcef..9786266 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ClobTestEntity;
-import org.apache.cayenne.testdo.testmap.ClobTestRelation;
+import org.apache.cayenne.testdo.lob.ClobTestEntity;
+import org.apache.cayenne.testdo.lob.ClobTestRelation;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -36,7 +36,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.LOB_PROJECT)
 public class SelectActionIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
index 86218d9..954808e 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
@@ -62,7 +62,7 @@ public class ServerRuntimeBuilder_InAction_IT extends 
ServerCase {
         tArtist.insert(33001, "AA1");
         tArtist.insert(33002, "AA2");
 
-        this.dataSource = runtime.getDataSource("tstmap");
+        this.dataSource = runtime.getDataSource("testmap");
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
index d2a372e..73425bf 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.LOB_PROJECT)
 public class OracleAdapterIT extends ServerCase {
 
     @Inject
@@ -46,13 +46,13 @@ public class OracleAdapterIT extends ServerCase {
 
     @Test
     public void testUpdatesLOBColumns() throws Exception {
-        DataMap map = runtime.getDataDomain().getDataMap("tstmap");
+        DataMap map = runtime.getDataDomain().getDataMap("lob");
         assertTrue(OracleAdapter.updatesLOBColumns(new InsertBatchQuery(map
                 .getDbEntity("BLOB_TEST"), 1)));
         assertTrue(OracleAdapter.updatesLOBColumns(new InsertBatchQuery(map
                 .getDbEntity("CLOB_TEST"), 1)));
         assertFalse(OracleAdapter.updatesLOBColumns(new InsertBatchQuery(map
-                .getDbEntity("ARTIST"), 1)));
+                .getDbEntity("TEST"), 1)));
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
index a305cf9..7a45599 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.cayenne.exp;
 
-import org.apache.cayenne.testdo.testmap.BooleanTestEntity;
+import org.apache.cayenne.testdo.numeric_types.BooleanTestEntity;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java 
b/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
index 205f569..4e078e6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
@@ -91,11 +91,11 @@ public class MapLoaderLoadTest {
     @Test
     public void testLoadTestMap() throws Exception {
         MapLoader mapLoader = new MapLoader();
-        DataMap map = mapLoader.loadDataMap(getMapXml("tstmap.map.xml"));
+        DataMap map = mapLoader.loadDataMap(getMapXml("testmap.map.xml"));
         assertNotNull(map);
 
         // test procedures
-        Procedure procedure = map.getProcedure("cayenne_tst_upd_proc");
+        Procedure procedure = map.getProcedure("cayenne_test_upd_proc");
         assertNotNull(procedure);
         List<ProcedureParameter> params = procedure.getCallParameters();
         assertNotNull(params);
@@ -124,7 +124,7 @@ public class MapLoaderLoadTest {
     public void testEncodeAsXML() throws FileNotFoundException {
         // load map
         MapLoader mapLoader = new MapLoader();
-        DataMap map = mapLoader.loadDataMap(getMapXml("tstmap.map.xml"));
+        DataMap map = mapLoader.loadDataMap(getMapXml("testmap.map.xml"));
         assertNotNull(map);
 
         // encode map

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
index 9103f15..14fe42f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
@@ -124,7 +124,7 @@ public class ObjEntityIT extends ServerCase {
         assertNull(clientPk.getEntity());
         assertFalse(clientArtistE.getAttributes().contains(pk));
 
-        ObjEntity meaningfulPKE = 
runtime.getDataDomain().getEntityResolver().getObjEntity("MeaningfulPKTest1");
+        ObjEntity meaningfulPKE = 
runtime.getDataDomain().getEntityResolver().getObjEntity("MeaningfulGeneratedColumnTestEntity");
         Collection<ObjAttribute> mpks = meaningfulPKE.getPrimaryKeys();
         assertEquals(1, mpks.size());
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java 
b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
index 53d5039..d8fac76 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
@@ -85,7 +85,7 @@ public abstract class MergeCase extends ServerCase {
         // this map can't be safely modified in this test, as it is reset by DI
         // container
         // on every test
-        map = runtime.getDataDomain().getDataMap("tstmap");
+        map = runtime.getDataDomain().getDataMap("testmap");
 
         filterDataMap();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
index 2513627..c4f010b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
@@ -29,7 +29,6 @@ import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.BigIntegerEntity;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
@@ -67,22 +66,17 @@ public class EJBQLQueryIT extends ServerCase {
 
     private TableHelper tArtist;
     private TableHelper tPainting;
-    private TableHelper tBigIntegerEntity;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
         dbHelper.deleteAll("PAINTING");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("BIGINTEGER_ENTITY");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
 
         tPainting = new TableHelper(dbHelper, "PAINTING");
         tPainting.setColumns("PAINTING_ID", "ARTIST_ID", "PAINTING_TITLE");
-
-        tBigIntegerEntity = new TableHelper(dbHelper, "BIGINTEGER_ENTITY");
-        tBigIntegerEntity.setColumns("ID", "BIG_INTEGER_FIELD");
     }
 
     protected void createArtistsDataSet() throws Exception {
@@ -101,29 +95,6 @@ public class EJBQLQueryIT extends ServerCase {
         tPainting.insert(33003, 33002, "%%?_title%%_");
     }
 
-    protected void createBigIntegerEntitiesDataSet() throws Exception {
-        tBigIntegerEntity.insert(44001, new Long(744073709551715l));
-    }
-
-    @Test
-    public void testLongParameter() throws Exception {
-        createBigIntegerEntitiesDataSet();
-        String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE 
bie.bigIntegerField > ?1";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter(1,744073709551615l);
-        List<BigIntegerEntity> result = context.performQuery(query);
-        assertEquals(1, result.size());
-    }
-
-    @Test
-    public void testLongLiteral() throws Exception {
-        createBigIntegerEntitiesDataSet();
-        String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE 
bie.bigIntegerField > 744073709551615";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        List<BigIntegerEntity> result = context.performQuery(query);
-        assertEquals(1, result.size());
-    }
-
     @Test
     public void testParameters() {
         String ejbql = "select a FROM Artist a WHERE a.artistName = ?1 OR 
a.artistName = :name";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
new file mode 100644
index 0000000..3cb152a
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
@@ -0,0 +1,57 @@
+package org.apache.cayenne.query;
+
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.numeric_types.BigIntegerEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.NUMERIC_TYPES_PROJECT)
+public class EJBQLQueryNumericIT extends ServerCase {
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    @Inject
+    private ObjectContext context;
+
+    private TableHelper tBigIntegerEntity;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("BIGINTEGER_ENTITY");
+
+        tBigIntegerEntity = new TableHelper(dbHelper, "BIGINTEGER_ENTITY");
+        tBigIntegerEntity.setColumns("ID", "BIG_INTEGER_FIELD");
+    }
+
+    protected void createBigIntegerEntitiesDataSet() throws Exception {
+        tBigIntegerEntity.insert(44001, new Long(744073709551715l));
+    }
+
+    @Test
+    public void testLongParameter() throws Exception {
+        createBigIntegerEntitiesDataSet();
+        String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE 
bie.bigIntegerField > ?1";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter(1,744073709551615l);
+        List<BigIntegerEntity> result = context.performQuery(query);
+        assertEquals(1, result.size());
+    }
+
+    @Test
+    public void testLongLiteral() throws Exception {
+        createBigIntegerEntitiesDataSet();
+        String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE 
bie.bigIntegerField > 744073709551615";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        List<BigIntegerEntity> result = context.performQuery(query);
+        assertEquals(1, result.size());
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
index dd5882f..56d31b1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
@@ -68,7 +68,7 @@ public class SQLSelectIT extends ServerCase {
 
                createArtistsDataSet();
 
-               SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("tstmap", 
"SELECT * FROM ARTIST");
+               SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("testmap", 
"SELECT * FROM ARTIST");
                assertTrue(q1.isFetchingDataRows());
 
                List<DataRow> result = context.select(q1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
index 244c8d5..d4696ac 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
@@ -65,7 +65,7 @@ public class SQLTemplateIT extends ServerCase {
 
     @Test
        public void testSQLTemplateForDataMap() {
-               DataMap testDataMap = 
context.getEntityResolver().getDataMap("tstmap");
+               DataMap testDataMap = 
context.getEntityResolver().getDataMap("testmap");
                SQLTemplate q1 = new SQLTemplate(testDataMap, "SELECT * FROM 
ARTIST", true);
                List<DataRow> result = context.performQuery(q1);
                assertEquals(0, result.size());
@@ -73,7 +73,7 @@ public class SQLTemplateIT extends ServerCase {
 
     @Test
        public void testSQLTemplateForDataMapWithInsert() {
-               DataMap testDataMap = 
context.getEntityResolver().getDataMap("tstmap");
+               DataMap testDataMap = 
context.getEntityResolver().getDataMap("testmap");
                String sql = "INSERT INTO ARTIST VALUES (15, 'Surikov', null)";
                SQLTemplate q1 = new SQLTemplate(testDataMap, sql, true);
                context.performNonSelectingQuery(q1);
@@ -85,7 +85,7 @@ public class SQLTemplateIT extends ServerCase {
 
     @Test
        public void testSQLTemplateForDataMapWithInsertException() {
-               DataMap testDataMap = 
context.getEntityResolver().getDataMap("tstmap");
+               DataMap testDataMap = 
context.getEntityResolver().getDataMap("testmap");
                String sql = "INSERT INTO ARTIST VALUES (15, 'Surikov', null)";
                SQLTemplate q1 = new SQLTemplate(testDataMap, sql, true);
                context.performNonSelectingQuery(q1);
@@ -97,7 +97,7 @@ public class SQLTemplateIT extends ServerCase {
                } catch (CayenneRuntimeException e) {
                        gotRuntimeException = true;
                }
-               assertTrue("If fetchingDataRows is false and ObjectEntity not 
set, shoulb be thrown exception",
+               assertTrue("If fetchingDataRows is false and ObjectEntity not 
set, should be thrown exception",
                                gotRuntimeException);
        }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
new file mode 100644
index 0000000..debde5e
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
@@ -0,0 +1,108 @@
+package org.apache.cayenne.query;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.exp.Expression;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.lob.ClobTestEntity;
+import org.apache.cayenne.unit.UnitDbAdapter;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.LOB_PROJECT)
+public class SelectQueryClobIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private DBHelper dbHelper;
+
+    @Inject
+    private UnitDbAdapter accessStackAdapter;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("CLOB_TEST_RELATION");
+
+        if (accessStackAdapter.supportsLobs()) {
+            dbHelper.deleteAll("CLOB_TEST");
+        }
+    }
+
+    protected void createClobDataSet() throws Exception {
+        TableHelper tClobTest = new TableHelper(dbHelper, "CLOB_TEST");
+        tClobTest.setColumns("CLOB_TEST_ID", "CLOB_COL");
+
+        tClobTest.deleteAll();
+
+        tClobTest.insert(1, "clob1");
+        tClobTest.insert(2, "clob2");
+    }
+
+    /**
+     * Test how "like ignore case" works when using uppercase parameter.
+     */
+    @Test
+    public void testSelectLikeIgnoreCaseClob() throws Exception {
+        if (accessStackAdapter.supportsLobs()) {
+            createClobDataSet();
+            SelectQuery<ClobTestEntity> query = new 
SelectQuery<ClobTestEntity>(ClobTestEntity.class);
+            Expression qual = ExpressionFactory.likeIgnoreCaseExp("clobCol", 
"clob%");
+            query.setQualifier(qual);
+            List<?> objects = context.performQuery(query);
+            assertEquals(2, objects.size());
+        }
+    }
+
+    @Test
+    public void testSelectFetchLimit_Offset_DistinctClob() throws Exception {
+        if (accessStackAdapter.supportsLobs()) {
+            createClobDataSet();
+
+            // see CAY-1539... CLOB column causes suppression of DISTINCT in
+            // SQL, and hence the offset processing is done in memory
+            SelectQuery<ClobTestEntity> query = new 
SelectQuery<ClobTestEntity>(ClobTestEntity.class);
+            query.addOrdering("db:" + ClobTestEntity.CLOB_TEST_ID_PK_COLUMN, 
SortOrder.ASCENDING);
+            query.setFetchLimit(1);
+            query.setFetchOffset(1);
+            query.setDistinct(true);
+
+            List<ClobTestEntity> objects = context.performQuery(query);
+            assertEquals(1, objects.size());
+            assertEquals(2, Cayenne.intPKForObject(objects.get(0)));
+        }
+    }
+
+    @Test
+    public void testSelectEqualsClob() throws Exception {
+        if (accessStackAdapter.supportsLobComparisons()) {
+            createClobDataSet();
+            SelectQuery<ClobTestEntity> query = new 
SelectQuery<ClobTestEntity>(ClobTestEntity.class);
+            Expression qual = ExpressionFactory.matchExp("clobCol", "clob1");
+            query.setQualifier(qual);
+            List<?> objects = context.performQuery(query);
+            assertEquals(1, objects.size());
+        }
+    }
+
+    @Test
+    public void testSelectNotEqualsClob() throws Exception {
+        if (accessStackAdapter.supportsLobComparisons()) {
+            createClobDataSet();
+            SelectQuery query = new SelectQuery(ClobTestEntity.class);
+            Expression qual = ExpressionFactory.noMatchExp("clobCol", "clob1");
+            query.setQualifier(qual);
+            List<?> objects = context.performQuery(query);
+            assertEquals(1, objects.size());
+        }
+    }
+}
\ No newline at end of file

Reply via email to