title: Jackson deserialization fails after serializing an object using writeValueAsString
body: <p>Using the com.fasterxml.jackson.databind.ObjectMapper class(com.fasterxml.jackson.core:jackson-databind:2.9.5) I am trying to deserialize an object of the following class:</p>
  
  <pre><code>class MyClass {
  
      String name;
  
      MyClass(String name) {
          this.name = name;
      }
  }
  </code></pre>
  
  <p>The code I am currently executing is the following:</p>
  
  <pre><code>    MyClass myClass = new MyClass("test");
      objectMapper.registerModule(new ParameterNamesModule())
          .registerModule(new Jdk8Module())
          .registerModule(new JavaTimeModule())
          .configure(FAIL_ON_UNKNOWN_PROPERTIES, false)
          .setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
  
      String text = objectMapper.writeValueAsString(myClass);
      objectMapper.readValue(text, MyClass.class);
  </code></pre>
  
  <p>which fails on the last line throwing the exception:</p>
  
  <blockquote>
    <p>com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of <code>com.pckge.MyClass</code> (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator)
     at [Source: (String)"{"name":"test"}"; line: 1, column: 2]</p>
  </blockquote>
  
  <p>My goal would be to configure the object mapper so to successfully deserialize the object without using annotations such as JsonCreator or JsonProperties on the constructor of MyClass:</p>
  
  <ul>
  <li>Is this doable?  </li>
  <li>Which configuration I am missing?</li>
  </ul>
  
  <p>Thanks a lot!</p>
  
  <p>EDIT 1: Reply by @Dean solves the issue. However I would like to avoid to have the default constructor also.</p>