_id
이 복합 ID 인 경우 문제가 있습니다. 그런 다음 Morphia Java 개체로 변환 할 수 없습니다. 다음과 같이MongoDB에 저장된 복합 ID를 Morphia Java 개체로 변환하려면 어떻게해야합니까?
내 MongoDB의에서 JSON 보인다 :
{
"_id" : {
"id1" : "SAMPLE_ID1",
"id2" : "SAMPLE_ID2"
}
}
자바 코드 : 나는 모르핀의 v1.3.2을 사용하고
import org.mongodb.morphia.annotations.Id;
@Entity(value = "MyCollection", noClassnameStored = true)
public class MyObject {
@Id
private MyObjectId thisId;
//....
}
public class MyObjectId{
@Property("id1")
private String id1;
@Property("id2")
private String id2;
//.....
}
.
이java.lang.RuntimeException가 : java.lang.ClassCastException가 : org.bson.types.ObjectId는 캐스트 할 수없는 com.mongodb하는 내가 객체를 삽입 때
, 나는 다음과 같은 예외를 얻을 .DBObject at org.mongodb.morphia.mapping.EmbeddedMapper.fromDBObject (EmbeddedMapper.java:76) at org.mongodb.morphia.mapping.Mapper.readMappedField (Mapper.java:850) at org.mongodb.morphia. mapping.Mapper.updateKeyAndVersionInfo (Mapper.java:725) at org.mongodb.morphia.DatastoreImpl.postSaveOperations (DatastoreImpl.java:1422)org.mongodb.morphia.DatastoreImpl.save에서 org.mongodb.morphia.DatastoreImpl.save (DatastoreImpl.java:1292) 에서 org.mongodb.morphia.DatastoreImpl.postSaveOperations (DatastoreImpl.java:1408) (DatastoreImpl에서 515,. 자바 : org.mongodb.morphia.DatastoreImpl.save (DatastoreImpl.java:758) 에서 775) .......
내가 객체를 선택
, 나는 다음과 같은 예외가 :java.lang.RuntimeException : java.lang.ClassCastException : org.bson.types.ObjectId canno t는 org.mongodb.morphia.mapping.Mapper.readMappedField (Mapper.java:850)에서 org.mongodb.morphia.mapping.EmbeddedMapper.fromDBObject (EmbeddedMapper.java:76) 에서 com.mongodb.DBObject 에 캐스트 할 (Mapper.java:282) at org.mongodb.morphia.mapping.Mapper.fromDBObject (Mapper.java:193) at org.mongodb.morphia.query.MorphiaIterator org.mongodb.morphia.query.MorphiaIterator.next (MorphiaIterator.java:117)에서 org.mongodb.morphia.query.MorphiaIterator.processItem (MorphiaIterator.java:146) 에서 .convertItem (MorphiaIterator.java:134) (QueryImpl.java:147) ......