title: Why JDBI 3 @ColumnName annotation doesn't work?
body: <p>I want to use jdbi 3 @ColumnName annotations to map column name of the table and java bean field, but at runtime jdbi throws an exception.
  My question is why is the exception thrown? Is my usage incorrect? How to solve this problem?
  Thanks</p>
  
  <p>Database table:</p>
  
  <pre><code>CREATE TABLE `department` (
    `id` bigint(20)  NOT NULL AUTO_INCREMENT,
    `name` varchar(32) NOT NULL DEFAULT '' ,
    `business_system` tinyint(4)  NOT NULL ,
    `functional` tinyint(4)  NOT NULL ,
    `remark` varchar(100) NOT NULL DEFAULT ''
    PRIMARY KEY (`id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  </code></pre>
  
  <p>Java Bean:</p>
  
  <pre><code>@Data
  public class Department {
      private Long id;
  
      @NotNull
      @Size(min = 3, max = 20)
      private String name;
  
      @NotNull
      @ColumnName("business_system")
      private Integer businessSystem;
  
      @NotNull
      @ColumnName("functional")
      private Integer functional;
  
      @Max(value = 200)
      private String remark;
    }
  </code></pre>
  
  <p>JDBI Update:</p>
  
  <pre><code>@Override
  public Long create(Department department) {
      String sql = "INSERT INTO department (name, business_system, functional, remark)"
          + "VALUES (:name, :business_system, :functional, :remark)";
  
  return jdbi.withHandle(handle -&gt; handle.createUpdate(sql)
      .bindBean(department)
      .executeAndReturnGeneratedKeys()
      .mapTo(Long.class)
      .findOnly());
  </code></pre>
  
  <p>}</p>
  
  <p>Unit test running result：</p>
  
  <pre><code>org.jdbi.v3.core.statement.UnableToExecuteStatementException: Unable to 
  execute, no named parameter matches 'business_system'. [statement:"INSERT INTO 
  department (name, business_system, functional, remark)VALUES (:name, 
  :business_system, :functional, :remark)", rewritten:"INSERT INTO department 
  (name, business_system, functional, remark)VALUES (:name, :business_system, 
  :functional, :remark)", parsed:"ParsedSql{sql='INSERT INTO department (name, 
  business_system, functional, remark)VALUES (?, ?, ?, ?)', 
  parameters=ParsedParameters{positional=false, parameterNames=[name, 
  business_system, functional, remark]}}", 
  arguments:{ positional:{}, named:{}, finder:[{lazy bean property arguments 
  "Department(id=null, name=test, businessSystem=2, functional=2, 
  remark=test)"]}]
  </code></pre>