diff options
author | kmoore | 2008-12-09 20:06:17 +0000 |
---|---|---|
committer | kmoore | 2008-12-09 20:06:17 +0000 |
commit | 097a704539b269838069ac6a0d4fc8536bb270dd (patch) | |
tree | e1c3afd87bfaa5af20045815a30a623fc122237a | |
parent | 997f2dbbcfa006c3701bfc9a0b85466583edd1e7 (diff) | |
download | webtools.dali-097a704539b269838069ac6a0d4fc8536bb270dd.tar.gz webtools.dali-097a704539b269838069ac6a0d4fc8536bb270dd.tar.xz webtools.dali-097a704539b269838069ac6a0d4fc8536bb270dd.zip |
258003 - Invalid problem reported for 1-M mappedBy when inverse mapping is an EclipseLink 1-1
2 files changed, 16 insertions, 1 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaOneToManyMappingImpl.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaOneToManyMappingImpl.java index f8089015dc..7f368c17a7 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaOneToManyMappingImpl.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/java/EclipseLinkJavaOneToManyMappingImpl.java @@ -11,6 +11,8 @@ package org.eclipse.jpt.eclipselink.core.internal.context.java; import java.util.List; import org.eclipse.jdt.core.dom.CompilationUnit; +import org.eclipse.jpt.core.MappingKeys; +import org.eclipse.jpt.core.context.AttributeMapping; import org.eclipse.jpt.core.context.java.JavaPersistentAttribute; import org.eclipse.jpt.core.internal.context.java.GenericJavaOneToManyMapping; import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute; @@ -33,7 +35,12 @@ public class EclipseLinkJavaOneToManyMappingImpl extends GenericJavaOneToManyMap this.privateOwned = new EclipseLinkJavaPrivateOwned(this); } - + // ********** NonOwningMapping implementation ********** + @Override + public boolean mappedByIsValid(AttributeMapping mappedByMapping) { + return super.mappedByIsValid(mappedByMapping) || (mappedByMapping.getKey() == MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY); + } + protected String getPrivateOwnedAnnotationName() { return PrivateOwnedAnnotation.ANNOTATION_NAME; } diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmOneToManyMapping.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmOneToManyMapping.java index bc58d60b53..7d1fb25f4a 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmOneToManyMapping.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/internal/context/orm/EclipseLinkOrmOneToManyMapping.java @@ -11,6 +11,8 @@ package org.eclipse.jpt.eclipselink.core.internal.context.orm; import java.util.List; +import org.eclipse.jpt.core.MappingKeys; +import org.eclipse.jpt.core.context.AttributeMapping; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; import org.eclipse.jpt.core.internal.context.orm.GenericOrmOneToManyMapping; import org.eclipse.jpt.core.resource.orm.AbstractXmlTypeMapping; @@ -38,6 +40,12 @@ public class EclipseLinkOrmOneToManyMapping extends GenericOrmOneToManyMapping this.joinFetch = new EclipseLinkOrmJoinFetch(this); } + // ********** NonOwningMapping implementation ********** + @Override + public boolean mappedByIsValid(AttributeMapping mappedByMapping) { + return super.mappedByIsValid(mappedByMapping) || (mappedByMapping.getKey() == MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY); + } + public PrivateOwned getPrivateOwned() { return this.privateOwned; |