diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/JavaOneToOneContext.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/JavaOneToOneContext.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/JavaOneToOneContext.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/JavaOneToOneContext.java index 86f924fb36..29330a802b 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/JavaOneToOneContext.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/platform/JavaOneToOneContext.java @@ -12,6 +12,7 @@ import java.util.List; import org.eclipse.jpt.core.internal.IPersistentAttribute; import org.eclipse.jpt.core.internal.content.java.mappings.JavaOneToOne; import org.eclipse.jpt.core.internal.mappings.IEntity; +import org.eclipse.jpt.core.internal.mappings.INonOwningMapping; import org.eclipse.jpt.core.internal.validation.IJpaValidationMessages; import org.eclipse.jpt.core.internal.validation.JpaValidationMessages; import org.eclipse.wst.validation.internal.provisional.core.IMessage; @@ -65,6 +66,24 @@ public class JavaOneToOneContext extends JavaSingleRelationshipMappingContext new String[] {mappedBy}, mapping, mapping.mappedByTextRange()) ); + return; + } + + INonOwningMapping mappedByMapping; + try { + mappedByMapping = (INonOwningMapping) attribute.getMapping(); + } catch (ClassCastException cce) { + // there is no error then + return; + } + + if (mappedByMapping.getMappedBy() != null) { + messages.add( + JpaValidationMessages.buildMessage( + IMessage.HIGH_SEVERITY, + IJpaValidationMessages.MAPPING_MAPPED_BY_ON_BOTH_SIDES, + mapping, mapping.mappedByTextRange()) + ); } } } |