Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- at org.mongojack.internal.util.JacksonAccessor.invoke(JacksonAccessor.java:153)
- at org.mongojack.internal.util.JacksonAccessor.findDeserializer(JacksonAccessor.java:44)
- at org.mongojack.internal.util.IdHandlerFactory.getIdHandlerForProperty(IdHandlerFactory.java:40)
- at org.mongojack.JacksonDBCollection.<init>(JacksonDBCollection.java:137)
- at org.mongojack.JacksonDBCollection.wrap(JacksonDBCollection.java:181)
- at com.mytest.testdb.tests.integration.persistence.PersistenceIntegrationTests.test_shouldInsertTestObject(PersistenceIntegrationTests.java:27)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at java.lang.reflect.Method.invoke(Method.java:606)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at java.lang.reflect.Method.invoke(Method.java:606)
- at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
- Caused by: java.lang.reflect.InvocationTargetException
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at java.lang.reflect.Method.invoke(Method.java:606)
- at org.mongojack.internal.util.JacksonAccessor.invoke(JacksonAccessor.java:149)
- ... 10 more
- Caused by: com.fasterxml.jackson.databind.JsonMappingException: Argument #0 of constructor [constructor for com.mytest.testdb.tests.integration.persistence.PersistenceIntegrationTests$TestObject, annotations: {interface com.fasterxml.jackson.annotation.JsonCreator=@com.fasterxml.jackson.annotation.JsonCreator()}] has no property name annotation; must have name when multiple-paramater constructor annotated as Creator
- at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:272)
- at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:247)
- at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:146)
- at com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:322)
- at com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(ObjectMapper.java:2990)
- ... 13 more
- Caused by: java.lang.IllegalArgumentException: Argument #0 of constructor [constructor for com.mytest.testdb.tests.integration.persistence.PersistenceIntegrationTests$TestObject, annotations: {interface com.fasterxml.jackson.annotation.JsonCreator=@com.fasterxml.jackson.annotation.JsonCreator()}] has no property name annotation; must have name when multiple-paramater constructor annotated as Creator
- at com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.findValueInstantiator(BasicDeserializerFactory.java:283)
- at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:263)
- at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:168)
- at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:405)
- at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:354)
- at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:267)
- ... 17 more
- public class TestObject{
- private String id;
- private String myString;
- public TestObject(String myString) {
- this.myString = myString;
- }
- @JsonCreator
- public TestObject(@JsonProperty("_id")String id, @JsonProperty("my_string") String myString) {
- this.id = id;
- this.myString = myString;
- }
- @ObjectId
- @JsonProperty("_id")
- String getId() {
- return id;
- }
- @ObjectId
- @JsonProperty("_id")
- void setId(String id){
- this.id = id;
- }
- @JsonProperty("my_string")
- String getMyString() {
- return myString;
- }
- @JsonProperty("my_string")
- void setMyString(String myString) {
- this.myString = myString;
- }
- }
- @Test
- public void PersistenceIntegrationTests.test_shouldInsertTestObject(){
- MongoClient mongoClient = new MongoClient("localhost", 27017);
- DB db = mongoClient.getDB("TestDb");
- TestObject testObject = new TestObject(1,"My String 1");
- DBCollection dbCollection = db.getCollection("TestObjects");
- JacksonDBCollection<TestObject, String> collection =
- JacksonDBCollection.wrap(dbCollection, TestObject.class, String.class);
- WriteResult<TestObject,String> result = collection.insert(testObject);
- List<TestObject> savedObjects = result.getSavedObjects();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement