hibernate自动建表之engine设置
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设置的更多相关文章
- hibernate自动建表采用UTF-8字符编码
hibernate自动建表采用UTF-8字符编码 hibernate建表默认为UTF-8编码 >>>>>>>>>>>>>& ...
- Springboot 之 Hibernate自动建表(Mysql)
Springboot 之 Hibernate自动建表(Mysql) 2016年10月21日 10:39:44 阅读数:8180 本文章来自[知识林] 引入Maven依赖包 <dependency ...
- Hibernate自动建表问题
自动见表配置 <property key="hibernate.hbm2ddl.auto">update</property> 运行时出现了一下错误 org ...
- 使用Mysql 5.5数据库Hibernate自动建表创建表出错table doesn't exist
在mysql 5.0版本以后不支持 type=InnoDB 关键字,需要使用 engine=InnoDB 配置文件方言改成如下即可 <property name="dialect&qu ...
- hibernate自动建表技术_采用数据库反向生成技术
1.首先使用oracle创建一个用户: 登陆sqlplus,并以sysdba登陆到数据库: 2.创建一个用户,并对此用户授予connect,resource两个角色的权限: 3.连接到hibernat ...
- 【原创】Hibernate通过实体类自动建表时type=MyISAM的问题
ι 版权声明:本文为博主原创文章,未经博主允许不得转载. 当使用的mysql数据库为5.5版本时,方言需要设置为 <property name="hibernate.dialect&q ...
- 【SSH】——Hibernate实现简单的自动建表
[与ORM] Object Relational Mapping,对象关系映射,将对象和关系联系了起来.面向对象是从耦合.聚合.封装等的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论 ...
- Hibernate不能自动建表解决办法
最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且 ...
- [转]Hibernate不能自动建表解决办法及Hibernate不同数据库的连接及SQL方言
最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且 ...
随机推荐
- html-loldemo
百度版lol百科小样 <!DOCTYPE html> <html lang="en"> <head> <title>英雄联盟百科&l ...
- mysql之内存表
一.引言 昨天下午老大让我查资料看一下mysql的内存表在主从备份中是否能被复制,我还没听说过内存表呢,于是上网查资料,记录一下,以便查阅.学习 二.进展 参考: http://www.cnblogs ...
- js json转换
第一种方式: 使用js函数eval(); testJson=eval(testJson);是错误的转换方式. 正确的转换方式需要加(): testJson = eval("(" + ...
- jdbc preparedstatement 调用存储过程的问题
preparedstatement 是可以执行正常的存储过程 executeQuery() 正常执行 在实际开发中遇到一种问题当 preparedstatement.setMaxRows 设置了这 ...
- sql注入的防御和挖掘
首先我们可以在PHP.ini当中将display_errror关闭,以防止报错型的注入. 1.字符型防护 is_number 正则来判断是否是数字. ctype_digit() intval() st ...
- 构建自己的embedded linux系统
[教程]使用buildroot完全自定义自己的embedded linux系统(nand)http://www.eeboard.com/bbs/thread-38377-1-1.html [教程] [ ...
- uboot中断功能实现
uboot中实现irq中断(uboot version2015.04)1.实验目的:实现GPIO_2的外部中断 2.实验步骤:a.GPIO_2(GPIO1_IO02)为中断源, 首先需要设置这个pad ...
- Ant Design Pro快速入门
在上一篇文章中,我们介绍了如何构建一个Ant Design Pro的环境. 同时讲解了如何启动服务并查看前端页面功能. 在本文中,我们将简单讲解如何在Ant Design Pro框架下实现自己的业务功 ...
- C++ 类的继承六(多继承的二义性--虚基类)
//多继承的二义性--虚基类(了解为主) #include<iostream> using namespace std; /* 多继承在现在的项目开发中一般不使用,他会增加项目的复杂度 * ...
- Page_ClientValidate 用法
JS script function ConfirmMe(){ return confirm("Do you want to proceed?");} ASPX <asp ...