title: InvalidDefinitionException while using JsonCreator with JsonProperty.Access.READ_ONLY
body: <p>I'm getting <strong>InvalidDefinitionException</strong> when trying to use <code>@JsonCreator</code> along with <code>@JsonProperty(value = "version", access = JsonProperty.Access.READ_ONLY)</code></p>
  
  <p>This is how my class look like:</p>
  
  <pre><code>@Entity
  public class Example1 implements Serializable {
  
    private String field1;
    private int field2;
    private Example2 field3;
  
    public Example1(@JsonProperty(value = "field_1", access = JsonProperty.Access.READ_WRITE) String field1,
    @JsonProperty(value = "field_2", access = JsonProperty.Access.READ_ONLY) int field2,
    @JsonProperty(value = "field_3_1", access = JsonProperty.Access.READ_WRITE) String field31,
    @JsonProperty(value = "field_3_2", access = JsonProperty.Access.READ_WRITE) int field32
    ) {
      this.field1 = field1;
      this.field2 = field2;
      this.field3 = new Example2(field31, field32);
    }
  
    // getters and setters omitted
  }
  </code></pre>
  
  <p>It's throwing the following exception :</p>
  
  <pre><code>Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Argument #1 of constructor [constructor for com.test.example.model.Example1, annotations: {interface com.fasterxml.jackson.annotation.JsonCreator=@com.fasterxml.jackson.annotation.JsonCreator(mode=DEFAULT)}] has no property name annotation; must have name when multiple-parameter constructor annotated as Creator
   at [Source: (File); line: 1, column: 1]
      at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:62) ~[jackson-databind-2.9.0.pr3.jar:2.9.0.pr3]
      at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:249) ~[jackson-databind-2.9.0.pr3.jar:2.9.0.pr3]
      at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:165) ~[jackson-databind-2.9.0.pr3.jar:2.9.0.pr3]
      at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:411) ~[jackson-databind-2.9.0.pr3.jar:2.9.0.pr3]
      at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:349) ~[jackson-databind-2.9.0.pr3.jar:2.9.0.pr3]
      at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:264) ~[jackson-databind-2.9.0.pr3.jar:2.9.0.pr3]
      at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244) ~[jackson-databind-2.9.0.pr3.jar:2.9.0.pr3]
      at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142) ~[jackson-databind-2.9.0.pr3.jar:2.9.0.pr3]
      at com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:477) ~[jackson-databind-2.9.0.pr3.jar:2.9.0.pr3]
      at com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(ObjectMapper.java:4145) ~[jackson-databind-2.9.0.pr3.jar:2.9.0.pr3]
      at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3995) ~[jackson-databind-2.9.0.pr3.jar:2.9.0.pr3]
      at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2878) ~[jackson-databind-2.9.0.pr3.jar:2.9.0.pr3]
  </code></pre>
  
  <p>My Environment details:
  I'm using <code>Spring Boot 2.0.0.M2</code> version and <code>Jackson 2.9.0.pr3</code>.</p>
  
  <p>My intention is to <strong>omit</strong> the <strong>field2</strong> during <strong>deserialization</strong>.</p>
  
  <p>I tried to use <code>@JsonIgnore</code> in the setter method of <strong>field2</strong> as an alternative. Even, it didn't work with <code>@JsonCreator</code>.</p>