title: why do myBatis insert/update functions now require a commit after adding FK to DB?
body: <p>i have a project that uses myBatis for persistence.  method "A" below was working just fine until I added some foreign keys and converted my table from myISAM to innoDB.  After the conversion, method "A" would fail silently, not even a warning in the logs.  After the conversion, only method "B" does a successful insert.  Both methods write the correct sql to the logs, but only "B" works.</p>
  
  <p>Can anyone fill me in on why i need to do a commit now, but did not have to do a commit previously?</p>
  
  <pre><code>//doesnt work, but worked previously
  public void A(Role role) {
      SqlSession session = sqlSessionFactory.openSession();
      try {
          RoleMapper mapper = session.getMapper(RoleMapper.class);
          mapper.updateByPrimaryKeySelective(role);
      }catch(Exception e){
          logger.error(e);
      } finally {
          session.close();
      }
      return;
  }
  
  //works correctly, but why?
  public void B(Role role) {
      SqlSession session = sqlSessionFactory.openSession();
      try {
          RoleMapper mapper = session.getMapper(RoleMapper.class);
          mapper.updateByPrimaryKeySelective(role);
          session.commit();
      }catch(Exception e){
          logger.error(e);
      } finally {
          session.close();
      }
      return;
  }
  </code></pre>