MySQL默认下的存储引擎MyISAM不支持事务,如果需要事务的话,要使用Innodb。
设置存储引擎的两种方法:
1.创建:CREATE TABLE engineTest(id INT) ENGINE = [EngineName];
2.修改:ALTER TABLE engineTest ENGINE = [EngineName];
另外,Hibernate的事务使用的是具体的数据库的事务。因此,Hibernate的事务行为取决于具体的数据库。
关于Hibernate的悲观锁,有空再写一下。
具体的存储引擎特性见下表。