title: Spring MVC Return in Snake Case
body: <p>I am stuck with something and need some help. Specifically, I have a POJO defined like this:</p>
  
  <pre><code>private String uid;
  private String userName;
  private String firstName;
  private String lastName;
  </code></pre>
  
  <p>My DAO looks something like:</p>
  
  <pre><code>@Override
  public AAAUserCountDTO getUserCount(final String userName, final Date startDate, final Date endDate)
          throws BadParameterException {
      final String sql = "select uid, user_name, first_name, last_name from usage where user_name = :user_name and process_time &gt;= :start_date and process_time &lt; :end_date";
  
      final SqlParameterSource namedParameters = new MapSqlParameterSource().addValue("user_name", userName)
              .addValue("start_date", startDate).addValue("end_date", endDate);
  
      try {
          return jdbcTemplate.queryForObject(sql, namedParameters,
                  new BeanPropertyRowMapper&lt;DTO&gt;(DTO.class).se);
  
      } catch (EmptyResultDataAccessException e) {
          throw new BadParameterException();
      }
  }
  </code></pre>
  
  <p>I also have this set in my application yml file:</p>
  
  <pre><code>spring:
     application:
        name: Usage Service
     jackson:
        property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
  </code></pre>
  
  <p>My response is looking like:</p>
  
  <pre><code>uid: 1234,
  userName: "Bob",
  firstName: "Bob",
  lastName: "Hopkins",
  etc...
  </code></pre>
  
  <p>How can I enforce without having to tell each one in the JSON property notation as part of the POJO</p>
  
  <p>Thanks</p>