Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2009-08-24 22:33:03 +0000
committerkmoore2009-08-24 22:33:03 +0000
commitc0214803c7703698181cdadffd0901196ce1191c (patch)
treec3d0eb3cc2dd0a21f47d95104e7e76fd2f2e43a5 /jpa/plugins
parent5065ef9aca691e9c6ac06852860e9ec6afe67607 (diff)
downloadwebtools.dali-c0214803c7703698181cdadffd0901196ce1191c.tar.gz
webtools.dali-c0214803c7703698181cdadffd0901196ce1191c.tar.xz
webtools.dali-c0214803c7703698181cdadffd0901196ce1191c.zip
282893 - subclasses ignore column mapping on inherited attribute in MappedSuperclass in orm.xml
Diffstat (limited to 'jpa/plugins')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBaseEmbeddedMapping.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlAttributeOverrideColumn.java75
3 files changed, 77 insertions, 2 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBaseEmbeddedMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBaseEmbeddedMapping.java
index 223fe25bfe..43b1e82be5 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBaseEmbeddedMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmBaseEmbeddedMapping.java
@@ -276,7 +276,7 @@ public abstract class AbstractOrmBaseEmbeddedMapping<T extends AbstractXmlEmbedd
XmlColumn xmlColumn;
if (javaAttributeOverride == null || !isDefault()) {
ColumnMapping columnMapping = (ColumnMapping) persistentAttribute.getMapping();
- xmlColumn = new VirtualXmlColumn(getTypeMapping(), columnMapping.getColumn());
+ xmlColumn = new VirtualXmlAttributeOverrideColumn(columnMapping.getColumn());
}
else {
xmlColumn = new VirtualXmlColumn(getTypeMapping(), javaAttributeOverride.getColumn());
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java
index db55240614..83f63fe673 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java
@@ -1521,7 +1521,7 @@ public abstract class AbstractOrmEntity
XmlColumn xmlColumn;
if (javaAttributeOverride == null) {
ColumnMapping columnMapping = (ColumnMapping) persistentAttribute.getMapping();
- xmlColumn = new VirtualXmlColumn(this, columnMapping.getColumn());
+ xmlColumn = new VirtualXmlAttributeOverrideColumn(columnMapping.getColumn());
}
else {
xmlColumn = new VirtualXmlColumn(this, javaAttributeOverride.getColumn());
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlAttributeOverrideColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlAttributeOverrideColumn.java
new file mode 100644
index 0000000000..d1383f2d92
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/VirtualXmlAttributeOverrideColumn.java
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.core.internal.context.orm;
+
+import org.eclipse.jpt.core.context.Column;
+
+/**
+ * javax.persistence.Column
+ */
+public class VirtualXmlAttributeOverrideColumn
+ extends VirtualXmlColumn
+{
+
+ public VirtualXmlAttributeOverrideColumn(Column column) {
+ super(null, column);
+ }
+
+ @Override
+ public String getName() {
+ return this.column.getSpecifiedName();
+ }
+
+ @Override
+ public String getColumnDefinition() {
+ return this.column.getColumnDefinition();
+ }
+
+ @Override
+ public String getTable() {
+ return this.column.getSpecifiedTable();
+ }
+
+ @Override
+ public Boolean getInsertable() {
+ return this.column.getSpecifiedInsertable();
+ }
+
+ @Override
+ public Boolean getUpdatable() {
+ return this.column.getSpecifiedUpdatable();
+ }
+
+ @Override
+ public Boolean getNullable() {
+ return this.column.getSpecifiedNullable();
+ }
+
+ @Override
+ public Boolean getUnique() {
+ return this.column.getSpecifiedUnique();
+ }
+
+ @Override
+ public Integer getLength() {
+ return this.column.getSpecifiedLength();
+ }
+
+ @Override
+ public Integer getScale() {
+ return this.column.getSpecifiedScale();
+ }
+
+ @Override
+ public Integer getPrecision() {
+ return this.column.getSpecifiedPrecision();
+ }
+
+}

Back to the top