diff options
author | kmoore | 2009-08-24 22:33:03 +0000 |
---|---|---|
committer | kmoore | 2009-08-24 22:33:03 +0000 |
commit | c0214803c7703698181cdadffd0901196ce1191c (patch) | |
tree | c3d0eb3cc2dd0a21f47d95104e7e76fd2f2e43a5 /jpa/plugins | |
parent | 5065ef9aca691e9c6ac06852860e9ec6afe67607 (diff) | |
download | webtools.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')
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(); + } + +} |