379856 - Invalid validation error against attributes of dynamic type mappings. Patch from Karen.
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/SpecifiedOrmPersistentType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/SpecifiedOrmPersistentType.java
index 35bde89..59a438d 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/SpecifiedOrmPersistentType.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/SpecifiedOrmPersistentType.java
@@ -249,14 +249,14 @@
* @see #syncJavaPersistentType()
*/
protected void updateJavaPersistentType() {
- JavaResourceType resourceType = this.resolveJavaResourceType();
- if (resourceType == null) {
+ if (this.getName() == null) {
if (this.javaPersistentType != null) {
this.javaPersistentType.dispose();
this.setJavaPersistentType(null);
}
}
else {
+ JavaResourceType resourceType = this.resolveJavaResourceType();
if (this.javaPersistentType == null) {
this.setJavaPersistentType(this.buildJavaPersistentType(resourceType));
}
@@ -286,7 +286,7 @@
}
protected JavaPersistentType buildJavaPersistentType(JavaResourceType jrt) {
- return this.getJpaFactory().buildJavaPersistentType(this, jrt);
+ return jrt != null ? this.getJpaFactory().buildJavaPersistentType(this, jrt) : null;
}