1
我一直試圖用Morphia保存POJO,但沒有運氣。從來就得到了下面的代碼,這是簡單的:Morphia在保存基本實體時拋出內部異常
final Morphia morphia = new Morphia();
morphia.mapPackage("entities.users");
final Datastore datastore = morphia.createDatastore(new MongoClient(), "test_table");
datastore.ensureIndexes();
datastore.save(user);
然而,奇怪的事情是,datastore.ensureIndexes()
拋出取決於嗎啡怪異,內部異常:
WARNING: Parameterized types are treated as untyped Objects. See field 'assertionLock' on class java.lang.ClassLoader
org.mongodb.morphia.mapping.MappingException: Cannot use non-static inner class: class java.security.ProtectionDomain$Key. Please make static.
at org.mongodb.morphia.mapping.MappedClass.basicValidate(MappedClass.java:495)
at org.mongodb.morphia.mapping.MappedClass.<init>(MappedClass.java:123)
at org.mongodb.morphia.mapping.Mapper.getMappedClass(Mapper.java:451)
at org.mongodb.morphia.DatastoreImpl.processEmbeddedAnnotations(DatastoreImpl.java:1545)
at org.mongodb.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:1185)
at org.mongodb.morphia.DatastoreImpl.processEmbeddedAnnotations(DatastoreImpl.java:1545)
at org.mongodb.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:1185)
at org.mongodb.morphia.DatastoreImpl.processEmbeddedAnnotations(DatastoreImpl.java:1545)
at org.mongodb.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:1185)
at org.mongodb.morphia.DatastoreImpl.processEmbeddedAnnotations(DatastoreImpl.java:1545)
at org.mongodb.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:1185)
at org.mongodb.morphia.DatastoreImpl.processEmbeddedAnnotations(DatastoreImpl.java:1545)
at org.mongodb.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:1185)
at org.mongodb.morphia.DatastoreImpl.processEmbeddedAnnotations(DatastoreImpl.java:1545)
at org.mongodb.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:1185)
at org.mongodb.morphia.DatastoreImpl.processEmbeddedAnnotations(DatastoreImpl.java:1545)
at org.mongodb.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:1185)
at org.mongodb.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:1167)
at org.mongodb.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:1189)
at org.mongodb.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:274)
at org.mongodb.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:266)
at repositories.UsersRepository.createUser(UsersRepository.java:65)
at repositories.UsersRepository.main(UsersRepository.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Process finished with exit code 0