What version are you using? (Morphia/Driver/MongoDB)
- 2.8.0 Java driver
- Morphia 0.99
ID class:
@Entity(noClassnameStored = true)
class ProbId {
@NotNull
@Property("t")
String text;
@NotNull
@Property("sl")
String language;
/**
* The target language
*/
@NotNull
@Property("dl")
String destLanguage;
}
Object class like:
@Entity(noClassnameStored = true)
public class Probabilities implements Modifiable {
/**
* The unique source text/language combination
*/
@NotNull
@Id
ProbId id;
...
}
It seems to work to fetch objects like this:
final ProbId key = new ProbId(srcText, srcLang, destLang);
final Query<Probabilities> query =
Mongo.createQuery(Probabilities.class).field("id").equal(key);
Probabilities probabilities = query.get();
However, we get a SEVERE log report:
Aug 30, 2012 7:44:03 PM com.google.code.morphia.mapping.Mapper toMongoObject
SEVERE: Error converting value(ProbId{t='good',sl='eng',dl='sve'}) to reference.
com.google.code.morphia.mapping.MappingException: Could not get id for
transmachina.jerome.corpus.ProbId
at com.google.code.morphia.mapping.Mapper.getKey(Mapper.java:446)
at com.google.code.morphia.mapping.Mapper.toMongoObject(Mapper.java:390)
at com.google.code.morphia.query.FieldCriteria.<init>(FieldCriteria.java:47)
at com.google.code.morphia.query.FieldEndImpl.addCrit(FieldEndImpl.java:35)
at com.google.code.morphia.query.FieldEndImpl.equal(FieldEndImpl.java:90)
at com.google.code.morphia.query.FieldEndImpl.equal(FieldEndImpl.java:11)
at transmachina.jerome.corpus.Probabilities.get(Probabilities.java:149)
Is there a way to do this without errors being logged?
Original issue reported on code.google.com by n.cottr...@global-commission.org on 30 Aug 2012 at 7:52
Original issue reported on code.google.com by
n.cottr...@global-commission.org
on 30 Aug 2012 at 7:52