ensure TestSnakeCaseDDL runs in enhanced mode otherwise there is an issue in column name uniqueness check + fixing MappingDefaultsImpl name definition
diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java
index c9f872e..0554235 100644
--- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java
+++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java
@@ -643,7 +643,7 @@
             corrected = true;
         }
         if (corrected) {
-            name = dict.getValidColumnName(name, table, false);
+            name = dict.getValidColumnName(name, table, true);
             col.setIdentifier(name);
             table.addCorrectedColumnName(name, true);
         }
diff --git a/openjpa-jdbc/src/test/java/org/apache/openjpa/jdbc/meta/TestMappingDefaultsImpl.java b/openjpa-jdbc/src/test/java/org/apache/openjpa/jdbc/meta/TestMappingDefaultsImpl.java
index f779a04..99dbf71 100644
--- a/openjpa-jdbc/src/test/java/org/apache/openjpa/jdbc/meta/TestMappingDefaultsImpl.java
+++ b/openjpa-jdbc/src/test/java/org/apache/openjpa/jdbc/meta/TestMappingDefaultsImpl.java
@@ -26,6 +26,7 @@
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
 
 public class TestMappingDefaultsImpl {
 
@@ -52,11 +53,8 @@
         mr.setConfiguration(conf);
         Version version = new Version(new ClassMapping(String.class,mr));
         mapping.populateColumns(version, table, cols);
-        assertFalse("column names are conflicted : " + cols[0].getName(),
-                cols[0].getName().equals(cols[1].getName()));
-        assertFalse("column names are conflicted : " + cols[0].getName(),
-                cols[0].getName().equals(cols[2].getName()));
-        assertFalse("column names are conflicted : " + cols[1].getName(),
-                cols[1].getName().equals(cols[2].getName()));
+        assertNotEquals("column names are conflicted : " + cols[0].getName(), cols[0].getName(), cols[1].getName());
+        assertNotEquals("column names are conflicted : " + cols[0].getName(), cols[0].getName(), cols[2].getName());
+        assertNotEquals("column names are conflicted : " + cols[1].getName(), cols[1].getName(), cols[2].getName());
     }
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java
index 053ccfa..94d1a51 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java
@@ -57,7 +57,6 @@
         ds.setUrl("jdbc:derby:memory:ddlInSnakeCase;create=true");
         persistenceUnitInfo.setJtaDataSource(ds);
         persistenceUnitInfo.setProperty("openjpa.jdbc.DBDictionary", "derby(javaToDbColumnNameProcessing=snake_case)");
-        persistenceUnitInfo.setProperty("openjpa.RuntimeUnenhancedClasses", "supported");
         new PersistenceProviderImpl().generateSchema(persistenceUnitInfo, new HashMap<>());
         final Collection<String> createdTables = new HashSet<>();
         final Map<String, Collection<String>> columns = new HashMap<>();
@@ -95,7 +94,9 @@
                     em.persist(entity);
                     em.getTransaction().commit();
                 } catch (final RuntimeException re) {
-                    em.getTransaction().rollback();
+                    if (em.getTransaction().isActive()) {
+                        em.getTransaction().rollback();
+                    }
                     throw re;
                 } finally {
                     em.close();