package org.mongodb.morphia.issue463; import com.mongodb.BasicDBObject; import org.bson.types.ObjectId; import org.junit.Assert; import org.junit.Test; import org.mongodb.morphia.TestBase; import org.mongodb.morphia.annotations.Entity; import org.mongodb.morphia.annotations.Id; public class TestIssue463 extends TestBase { @Test public void save() { getMorphia().map(Class1.class, Class2.class); final Class2 class2 = new Class2(); class2.setId(new ObjectId()); class2.setText("hello world"); getDs().save(class2); final BasicDBObject query = new BasicDBObject("_id", class2.getId()); Assert.assertFalse(getDs().getCollection(Class1.class).find(query).hasNext()); Assert.assertTrue(getDs().getCollection(Class2.class).find(query).hasNext()); } @Entity(value = "class1", noClassnameStored = true) public static class Class1 { @Id private ObjectId id; private String text; public ObjectId getId() { return id; } public void setId(final ObjectId id) { this.id = id; } public String getText() { return text; } public void setText(final String text) { this.text = text; } } @Entity(value = "class2", noClassnameStored = true) public static class Class2 extends Class1 { } }