commit | da44823efc12ee3e1962e6adbc24afb0fcc61f28 | [log] [tgz] |
---|---|---|
author | Neil Hauge <neil.hauge@oracle.com> | Fri May 31 17:36:26 2013 -0400 |
committer | Neil Hauge <neil.hauge@oracle.com> | Fri May 31 17:36:26 2013 -0400 |
tree | e4ee007ee585bdf5f625271083fb707dc14451af | |
parent | 87f1ce663b4c9c3966f559d315b7c7c307195530 [diff] |
409337 - Fix invalid validation message for PK join columns
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 54f929a..e2e85ff 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 @@ * 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 787a7f6..c2e3236 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 @@ @Override protected void validateJoinColumnName(List<IMessage> 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); } }