From da44823efc12ee3e1962e6adbc24afb0fcc61f28 Mon Sep 17 00:00:00 2001 From: Neil Hauge Date: Fri, 31 May 2013 17:36:26 -0400 Subject: 409337 - Fix invalid validation message for PK join columns --- .../jpt/jpa/core/internal/context/java/AbstractJavaEntity.java | 2 +- .../context/java/JavaEntityPrimaryKeyJoinColumnValidator.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaEntity.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaEntity.java index 54f929a647..e2e85ffdcc 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaEntity.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaEntity.java @@ -1120,7 +1120,7 @@ public abstract class AbstractJavaEntity * Return whether the entity is a descendant in (as opposed to the root of) * an inheritance hierarchy. */ - protected boolean isDescendant() { + public boolean isDescendant() { return ! this.isRootEntity(); } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/JavaEntityPrimaryKeyJoinColumnValidator.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/JavaEntityPrimaryKeyJoinColumnValidator.java index 787a7f65a8..c2e3236172 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/JavaEntityPrimaryKeyJoinColumnValidator.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/JavaEntityPrimaryKeyJoinColumnValidator.java @@ -30,10 +30,10 @@ public class JavaEntityPrimaryKeyJoinColumnValidator @Override protected void validateJoinColumnName(List messages) { - if ( ! this.entity.isRootNoDescendantsNoStrategyDefined()) { - messages.add(this.buildUnresolvedNameMessage(this.getVirtualPKJoinColumnUnresolvedNameMessage())); - } - else if (this.entity.getSpecifiedPrimaryKeyJoinColumnsSize() > 0) { + // Based on the spec., the PrimaryKeyJoinColumn annotation is really only meaningful when + // applying on an entity subclass so we only validate it when an entity is a descendant or an entity + // has specified primary key join columns + if (this.entity.isDescendant() || this.entity.getSpecifiedPrimaryKeyJoinColumnsSize() > 0) { super.validateJoinColumnName(messages); } } -- cgit v1.2.3