1.MYSQL的数据库引擎中,只有InnoDB和BDB(Berkley DB )包括了对事务处理和外键的支持。如果数据引擎建为MyISAM则rollback无效。

2.而hibernate自动建表的时候语句如下

Hibernate: 

    create table USER (
id integer not null auto_increment,
name varchar(255),
password varchar(255),
primary key (id)
) engine=MyISAM

即engine为myisam模式.此模式并不支持事务处理和外键约束.

3.解决方案

设置dialect属性

注:hibernate5.0之后一定要在MySQL和InnoDBDialect中间加一个 5

<property name="dialect"> org.hibernate.dialect.MySQL5InnoDBDialect</property>

此时运行后台回显的建表语句为:

Hibernate: 

    create table USER (
id integer not null auto_increment,
name varchar(255),
password varchar(255),
primary key (id)
) engine=InnoDB

即engine为InnoDB模式.此模式支持事务处理和外键约束.

注:  具体innodb和MYISAM的区别请查看:http://blog.csdn.net/xifeijian/article/details/20316775

   数据库方言:http://blog.csdn.net/jialinqiang/article/details/8679171

hibernate自动建表之engine设置的更多相关文章

  1. hibernate自动建表采用UTF-8字符编码

    hibernate自动建表采用UTF-8字符编码 hibernate建表默认为UTF-8编码 >>>>>>>>>>>>>& ...

  2. Springboot 之 Hibernate自动建表(Mysql)

    Springboot 之 Hibernate自动建表(Mysql) 2016年10月21日 10:39:44 阅读数:8180 本文章来自[知识林] 引入Maven依赖包 <dependency ...

  3. Hibernate自动建表问题

    自动见表配置 <property key="hibernate.hbm2ddl.auto">update</property> 运行时出现了一下错误 org ...

  4. 使用Mysql 5.5数据库Hibernate自动建表创建表出错table doesn't exist

    在mysql 5.0版本以后不支持 type=InnoDB 关键字,需要使用 engine=InnoDB 配置文件方言改成如下即可 <property name="dialect&qu ...

  5. hibernate自动建表技术_采用数据库反向生成技术

    1.首先使用oracle创建一个用户: 登陆sqlplus,并以sysdba登陆到数据库: 2.创建一个用户,并对此用户授予connect,resource两个角色的权限: 3.连接到hibernat ...

  6. 【原创】Hibernate通过实体类自动建表时type=MyISAM的问题

    ι 版权声明:本文为博主原创文章,未经博主允许不得转载. 当使用的mysql数据库为5.5版本时,方言需要设置为 <property name="hibernate.dialect&q ...

  7. 【SSH】——Hibernate实现简单的自动建表

    [与ORM] Object Relational Mapping,对象关系映射,将对象和关系联系了起来.面向对象是从耦合.聚合.封装等的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论 ...

  8. Hibernate不能自动建表解决办法

    最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且 ...

  9. [转]Hibernate不能自动建表解决办法及Hibernate不同数据库的连接及SQL方言

    最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且 ...

随机推荐

  1. vue的单文件组件

    五. 单文件组件 1. .vue文件 .vue文件,称为单文件组件,是Vue.js自定义的一种文件格式,一个.vue文件就是一个单独的组件,在文件内封装了组件相关的代码:html.css.js .vu ...

  2. 在drop user之前,建议获取该用户的依赖情况

    在删除这两个用户之前,建议获取这两个用户的依赖情况: SQL> col owner format a15 SQL> col name format a15 SQL> col REFE ...

  3. linux设置时间的方法

    0. date -R  中国上海的时区是+8000 1.tzselect 设置时区,依次选择5,9,1,1(如果时区不一样,执行下面的命令得到之后时间是不一样的) 2.sudo ntpdate asi ...

  4. 设置MATLAB中Current Folder的默认文件夹(转载)

    设置MATLAB中Current Folder的默认文件夹 在我们使用MATLAB的过程中,其Current Folder面板会给我们带来一定的便利性.但遗憾的是,MATLAB自身没有提供友好的设置界 ...

  5. ios-A+B经典问题

    // // main.m // a+b // #import <Foundation/Foundation.h> #import "Calcultor.h" int m ...

  6. 【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(三):facebook-wda库--API学习以及附录:Github上对WDA的问题解答

    下面简单介绍facebook-wda库--API的学习 import wda # debug模式,会在run运行时控制台生成消息 wda.DEBUG = False # False 关闭,True开启 ...

  7. Asp.Net中使用水晶报表

    Asp.Net中使用水晶报表(上) 在我们对VS.Net中的水晶报表(Crystal Reports)进行研究之前,我和我朋友对如何将这个复杂的东东加入我们的Web应用有着非常的好奇心.一周以后,在阅 ...

  8. Pyscripter 不能正确调用另一文件中模块的问题的解析(Internal Engine 和 Remote Engine)

    背景 Pyscripter是python下一个非常流行的开源IDE,笔者一直使用Pyscripter来来编写python脚本. 关于IDE的一些特性本文不在赘述,主要是分享一下今天遇到的一个问题. 问 ...

  9. 【BZOJ】3296: [USACO2011 Open] Learning Languages(tarjan)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3296 显然,每群能交流的群是个强联通块 然后求出scc的数量,答案就是scc-1 #include ...

  10. 读写app.config AppSettings,保留注释与不保留注释

    不保留 using System; using System.Configuration; namespace ConsoleApplication1 { class Program { static ...