Transaction isolation levels in mybatis are defined in an enum with fixed isolation levels. This makes sense for most cases, but in JDBC the isolation levels are defined as an int because some databases support additional levels not defined in JDBC. For example, SQL Server has a "Snapshot" isolation level with a value of 0x1000 (4096) (link)
It would be nice if mybatis could add additional SqlSessionFactory.openSession methods that accept a custom transaction level in the form of an int instead of the traditional TransactionIsolationLevel enum.