Author: hthomann Date: Tue Feb 2 03:51:55 2016 New Revision: 1728038 URL: http://svn.apache.org/viewvc?rev=1728038&view=rev Log: OPENJPA-2627: Create an option to disable column type checking errors during schema validation.
Modified: openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java openjpa/branches/2.2.x/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml Modified: openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java URL: http://svn.apache.org/viewvc/openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java?rev=1728038&r1=1728037&r2=1728038&view=diff ============================================================================== --- openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java (original) +++ openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java Tue Feb 2 03:51:55 2016 @@ -771,7 +771,7 @@ public abstract class MappingInfo // can't adapt, else warn and change the existing column type Message msg = _loc.get(prefix + "-bad-col", context, Schemas.getJDBCName(type), col.getDescription()); - if (!adapt) + if (!adapt && !dict.disableSchemaFactoryColumnTypeErrors) throw new MetaDataException(msg); Log log = repos.getLog(); if (log.isWarnEnabled()) Modified: openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java URL: http://svn.apache.org/viewvc/openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java?rev=1728038&r1=1728037&r2=1728038&view=diff ============================================================================== --- openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java (original) +++ openjpa/branches/2.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java Tue Feb 2 03:51:55 2016 @@ -216,6 +216,7 @@ public class DBDictionary public String schemaCase = SCHEMA_CASE_UPPER; public boolean setStringRightTruncationOn = true; public boolean fullResultCollectionInOrderByRelation = false; + public boolean disableSchemaFactoryColumnTypeErrors = false; //OPENJPA-2627 // sql public boolean disableAlterSeqenceIncrementBy=false; Modified: openjpa/branches/2.2.x/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml URL: http://svn.apache.org/viewvc/openjpa/branches/2.2.x/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml?rev=1728038&r1=1728037&r2=1728038&view=diff ============================================================================== --- openjpa/branches/2.2.x/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml (original) +++ openjpa/branches/2.2.x/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml Tue Feb 2 03:51:55 2016 @@ -1526,6 +1526,25 @@ that the entities defined sequence is ke database. Defaults to false. </para> </listitem> + <listitem id="DBDictionary.DisableSchemaFactoryColumnTypeErrors"> + <para> + <indexterm> + <primary> + schema + </primary> + <secondary> + DisableSchemaFactoryColumnTypeErrors + </secondary> + </indexterm> +<literal>DisableSchemaFactoryColumnTypeErrors</literal>: When something other than the default +SchemaFactory is used, up-front mapping validation is performed against the database schema. As +part of the validation, OpenJPA will verify a persistence class column's type against the column type +defined in the database schema. If a mismatch is found, OpenJPA will throw an exception to flag the +mismatch types and will not allow processing to continue. This can be limiting, especially if the +JDBC driver and/or database can properly handle the mismatch. Set this property to true to disable +column type mismatch errors. Defaults to false. + </para> + </listitem> <listitem id="DBDictionary.DistinctCountColumnSeparator"> <para> <indexterm>