0
인터페이스를 구현하는 클래스가 있습니다. arraylist 내용이 데이터베이스에 저장되지 않은 이유는 무엇입니까? 다음은 문제를 설명하는 코드입니다.Morphia : 상속이 제대로 처리되지 않습니까?
클래스
@Entity
public class MyClass implements MyInterface {
@Id
@Indexed
public String id;
public String someField;
public MyClass(String id, String someField){
this.id = id;
this.someField = someField;
}
}
인터페이스 DB에
public interface MyInterface {
@Embedded
public List<String> mylist = new ArrayList<String>();
}
테스트 코드
@Test
public void test() {
testInheritance();
}
public void testInheritance() {
MyClass myClass = new MyClass("test", "someField");
myClass.myList.add("wow");
MyClassDao dao = new MyClassDao();
dao.save(myClass);
}
public class MyClassDao extends BasicDAO<MyClass, ObjectId> {
public MyClassDao() {
super(MyClass.class, MorphiaManager.getMongoClient(), MorphiaManager.getMorphia(), MorphiaManager.getDB().getName());
}
}
결과
{
"_id" : "test",
"className" : "gr.iti.mklab.simmo.util.MyClass",
"someField" : "someField"
}