title: JDBC Template Tables locking issue
body: <p>I am using JDBC template to insert/update the DB table. I have following Configuration fro data source:</p>
  
  <pre><code>@Bean
    public DataSource dataSource() {
      HikariDataSource dataSource = new HikariDataSource();
      SQLServerDataSource ds = new SQLServerDataSource();
      ds.setUser("user name");
      ds.setPassword("Password");
      ds.setPortNumber(123);
      ds.setDatabaseName("DB name");
      ds.setServerName("Server");
      ds.setEncrypt(true);
      ds.setTrustServerCertificate(true);
      dataSource.setAutoCommit(true);
      dataSource.setMaximumPoolSize(size);
      dataSource.setMinimumIdle(idle);
      dataSource.setDataSource(ds);
  
      return dataSource;
    }
  </code></pre>
  
  <p>My problem is table lock. I am accessing, inserting and updating to a table <code>my_table</code> by exposing an API endpoint. So when I hit the endpoint first time, endpoint inserts three rows in the table which is intended. After first hit the subsequent other hit to the Endpoint taking 2/3 minutes to insert data. During that period I can not even access my <code>my_table</code> using MS SQL client application too.</p>
  
  <p>I though it might be because of the open commits that's why I made:</p>
  
  <pre><code>dataSource.setAutoCommit(true);
  </code></pre>
  
  <p>But not luck. After first hit table gets locked for a while and all other subsequent hit or direct access to that DB table taking too long.</p>
  
  <p>The Java Application works perfectly on localhost but after deploying to the Azure (Application service), I am getting table lock problem. I am not sure its table lock issue or something causing that table busy. I am using MS SQL Server which is also on the cloud.</p>
  
  <p>NOTE: At my DAOs level, I am simply using <code>jdbcTemplate.update()</code> to add or edit data and on my service level method I am using <code>@Transactional</code>.</p>