You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by wi...@apache.org on 2007/06/16 01:45:01 UTC

svn commit: r547832 - /openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java

Author: wisneskid
Date: Fri Jun 15 16:45:00 2007
New Revision: 547832

URL: http://svn.apache.org/viewvc?view=rev&rev=547832
Log:
OPENJPA-240 Feature:Persistent field mapping support for XML column type.

Modified:
    openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java?view=diff&rev=547832&r1=547831&r2=547832
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java Fri Jun 15 16:45:00 2007
@@ -51,6 +51,7 @@
 import javax.persistence.TableGenerator;
 import javax.persistence.Temporal;
 import javax.persistence.UniqueConstraint;
+import javax.xml.bind.annotation.XmlType;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
@@ -70,6 +71,7 @@
 import org.apache.openjpa.jdbc.meta.strats.VerticalClassStrategy;
 import org.apache.openjpa.jdbc.schema.Column;
 import org.apache.openjpa.jdbc.schema.Unique;
+import org.apache.openjpa.jdbc.sql.DBDictionary;
 import org.apache.openjpa.lib.log.Log;
 import org.apache.openjpa.lib.util.Localizer;
 import org.apache.openjpa.meta.ClassMetaData;
@@ -1030,6 +1032,15 @@
                 if (cols.isEmpty())
                     cols = new ArrayList<Column>(pcols.length);
                 cols.add(newColumn(pcols[i]));
+            }
+            
+            if (StringUtils.isEmpty(pcols[i].columnDefinition())
+                && fm.getDeclaredType().isAnnotationPresent(XmlType.class)) {
+                DBDictionary dict = ((MappingRepository) getRepository())
+                    .getDBDictionary();
+                if (dict.supportsXMLColumn)
+                  // column maps to xml type
+                  ((Column) cols.get(i)).setTypeName(dict.xmlTypeName);
             }
 
             unique |= (pcols[i].unique()) ? TRUE : FALSE;