title: How to map snake case yaml to camelcase java fields with Jackson
body: <p>I have a yaml file with keys in camel case, like</p>
  
  <pre><code>---
  start_date: "2018-09-01"
  day_date: "2018-09-01"
  
  userProduct:
      sales_channel: "1"
      user_group: "1" 
  </code></pre>
  
  <p>And I have the following Java PoJos</p>
  
  <pre><code>public class Input{
      private String startDate = "";
      private String dayDate = "";
  
      @JsonUnwrapped
      private Product userProduct;
  
     // getters/setters
  }
  
  public class Product {
     private salesChannel = "";
     private userGroup = "";
  
     // getters/setters
  }
  </code></pre>
  
  <p>Now I want to read this with Jackson and I thought it would be sufficient to use</p>
  
  <pre><code>ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
  objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
  return objectMapper.readValue(inputData, Input.class); // inputData is the yaml as string
  </code></pre>
  
  <p>but this does not fill the nested objects. The <code>startDate</code> and <code>dayDate</code> from the <code>Input</code> object is correct, but <code>input.getUserProduct().getSalesChannel()</code> for example returns an empty string.</p>
  
  <p>I also tried to use <code>user_product</code> instead of <code>userProduct</code> in the yaml file, but this does not change anything.</p>
  
  <p>What is wrong here ? How can I define snake case in the yaml and camelcase in java ?</p>