it = descriptor.propertiesAll();
- while (it.hasNext()) {
- DeployBeanProperty prop = it.next();
+ for (DeployBeanProperty prop : descriptor.propertiesAll()) {
if (prop instanceof DeployBeanPropertyAssoc>) {
readAssocOne(prop);
} else {
readField(prop);
}
-
}
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/deploy/parse/DeployCreateProperties.java b/src/main/java/com/avaje/ebeaninternal/server/deploy/parse/DeployCreateProperties.java
index 7f66f50cc..c2e242334 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/deploy/parse/DeployCreateProperties.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/deploy/parse/DeployCreateProperties.java
@@ -5,11 +5,13 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
-import java.util.Iterator;
import javax.persistence.PersistenceException;
import javax.persistence.Transient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import com.avaje.ebean.annotation.ColumnHstore;
import com.avaje.ebeaninternal.server.core.Message;
import com.avaje.ebeaninternal.server.deploy.DetermineManyType;
@@ -26,9 +28,6 @@ import com.avaje.ebeaninternal.server.type.ScalarTypePostgresHstore;
import com.avaje.ebeaninternal.server.type.TypeManager;
import com.avaje.ebeaninternal.server.type.reflect.CheckImmutableResponse;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* Create the properties for a bean.
*
@@ -58,10 +57,7 @@ public class DeployCreateProperties {
desc.sortProperties();
// check the transient properties...
- Iterator it = desc.propertiesAll();
-
- while (it.hasNext()) {
- DeployBeanProperty prop = it.next();
+ for (DeployBeanProperty prop : desc.propertiesAll()) {
if (prop.isTransient()) {
if (prop.getWriteMethod() == null || prop.getReadMethod() == null) {
// Typically a helper method ... this is expected
diff --git a/src/test/java/com/avaje/ebeaninternal/server/deploy/TestNotEnhancedMappedSuper.java b/src/test/java/com/avaje/ebeaninternal/server/deploy/TestNotEnhancedMappedSuper.java
new file mode 100644
index 000000000..731883cd0
--- /dev/null
+++ b/src/test/java/com/avaje/ebeaninternal/server/deploy/TestNotEnhancedMappedSuper.java
@@ -0,0 +1,29 @@
+package com.avaje.ebeaninternal.server.deploy;
+
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import com.avaje.ebean.BaseTestCase;
+import com.avaje.ebean.Ebean;
+import com.avaje.tests.model.basic.ResetBasicData;
+import com.avaje.tests.model.mappedsuper.ASimpleBean;
+
+public class TestNotEnhancedMappedSuper extends BaseTestCase {
+
+ @Test
+ public void simpleBean_mappedSuperNotEnhanced_ok() {
+
+// //GlobalProperties.put("ebean.search.packages", "com.avaje.tests.model.mappedsuper");
+
+ ResetBasicData.reset();
+
+ ASimpleBean bean = new ASimpleBean();
+ bean.setName("junk");
+
+ Ebean.save(bean);
+
+ Assert.assertNotNull(bean.getId());
+ }
+
+}
diff --git a/src/test/java/com/avaje/tests/model/mappedsuper/ASimpleBean.java b/src/test/java/com/avaje/tests/model/mappedsuper/ASimpleBean.java
new file mode 100644
index 000000000..1123034fa
--- /dev/null
+++ b/src/test/java/com/avaje/tests/model/mappedsuper/ASimpleBean.java
@@ -0,0 +1,30 @@
+package com.avaje.tests.model.mappedsuper;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+
+@Entity
+public class ASimpleBean extends NotEnhancedMappedSuper {
+
+ @Id
+ Long id;
+
+ String name;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+}
diff --git a/src/test/java/com/avaje/tests/model/mappedsuper/NotEnhancedMappedSuper.java b/src/test/java/com/avaje/tests/model/mappedsuper/NotEnhancedMappedSuper.java
new file mode 100644
index 000000000..2f9405f3b
--- /dev/null
+++ b/src/test/java/com/avaje/tests/model/mappedsuper/NotEnhancedMappedSuper.java
@@ -0,0 +1,32 @@
+package com.avaje.tests.model.mappedsuper;
+
+import javax.persistence.MappedSuperclass;
+import javax.persistence.Transient;
+
+@MappedSuperclass
+public abstract class NotEnhancedMappedSuper {
+
+ public static String SOMETHING = "Hello";
+
+ private transient Long one;
+
+ @Transient
+ private Long two;
+
+ public Long getOne() {
+ return one;
+ }
+
+ public void setOne(Long one) {
+ this.one = one;
+ }
+
+ public Long getTwo() {
+ return two;
+ }
+
+ public void setTwo(Long two) {
+ this.two = two;
+ }
+
+}