首先自己要注意自己的MYSQL版本,然后设置对应的方言

  • 兼容性模式

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

  • 需要注意的是5.5一下版本可以使用

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

  • Mysql数据库版本是5.5的,设置事务性方言时要修改,就是加一个5

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


此外还要注意其他方面的问题

1.错误原因:hbm文件中定义的元素含有sql的关键字

例如: <property name="name"></property>    <property name="birthday"></property>    <property name="from"></property>   代码中含有"from"关键字.

2.错误原因:配置文件中使用了create-drop属性,数据库表其实已经创建,只是又被删除了:

<property name="hbm2ddl.auto">create-drop</property>   只要把create-drop替换为create即可

3.错误原因:默认的数据库类型错误。

把mysql中my.ini文件中配置的 MyISAM 变成 INNODB,代码如下: 
# The default storage engine that will be used when create new tables when

default-storage-engine=INNODB

4.错误原因;hbm文件中未写错,但是在myeclipse中开发的  
myeclipse不能自动识别如下语句,需要在Configuration中手动重新配置一下即可运行;

<property name="hbm2ddl.auto">update</property>

5.如果在spring里面集成hibernate3,

例如配置代码如下:

<property name="hibernateProperties">    

  <value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect//注意这些地方没有空格
hibernate.hbm2ddl.auto=update//注意这些地方没有空格
hibernate.show_sql=false//注意这些地方没有空格
hibernate.format_sql=false//注意这些地方没有空格
</value>
</property>

注意每行结尾没有空格,不然也会造成不能自动建表的后果

Hibernate不能自动建数据表解决办法的更多相关文章

  1. hibernate中.hbm.xml和注解方式自动生成数据表的简单实例(由新手小白编写,仅适用新手小白)

    绝逼新手小白,so 请大神指点! 如果真的错的太多,错的太离谱,错的误导了其他小伙伴,还望大神请勿喷,大神请担待,大神请高抬贵嘴......谢谢. 好了,正题 刚接触ssh,今天在搞使用.hbm.xm ...

  2. SpringBoot+Mybatis 自动创建数据表(适用mysql)

    Mybatis用了快两年了,在我手上的发展史大概是这样的 第一个阶段 利用Mybatis-Generator自动生成实体类.DAO接口和Mapping映射文件.那时候觉得这个特别好用,大概的过程是这样 ...

  3. springboot项目启动-自动创建数据表

    很多时候,我们部署一个项目的时候,需要创建大量的数据表.例如mysql,一般的方法就是通过source命令完成数据表的移植,如:source /root/test.sql.如果我们需要一个项目启动后, ...

  4. 爬虫爬数据时,post数据乱码解决办法

    最近在写一个爬虫,目标网站是:http://zx.bjmemc.com.cn/,可能是为了防止被爬取数据,它给自身数据加了密.用谷歌自带的抓包工具也不能捕获到数据.于是下了Fiddler.     F ...

  5. A.CTable 自动创建数据表

    1.添加依赖 <!-- A.CTable 自动创建数据表 --> <dependency> <groupId>com.gitee.sunchenbin.mybati ...

  6. HTTP 错误 500.19 请求的页面的相关配置数据无效 解决办法

    "HTTP 错误 500.19 请求的页面的相关配置数据无效" 解决办法   HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该 ...

  7. 新版本ADT创建Android项目无法自动生成R文件解决办法

    本人使用的是ADT是Version 23.0.2,支持Android 6.0之后的系统环境,最高版本23,在创建Android项目的时候,每次创建项目选择“Compile With”低于6.0版本的时 ...

  8. 误删Django的model中的表解决办法

    误删Django的model中的表解决办法 1.model里面的表格实际的操作都在migrations文件夹中,里面记录了操作过程,当在database和model中删除表格时要注意初始化数据库时会报 ...

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

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

随机推荐

  1. ThinkPHP3.2.3 自定义标签库的使用

    ThinkPHP 3.2.3 手册中标签库驱动的地址是: http://www.kancloud.cn/manual/thinkphp/1859 标签库的地址是:http://www.kancloud ...

  2. PHP 标准库 SPL 之数据结构栈(SplStack)简单实践

    PHP 5.3.0 版本及以上的堆栈描述可以使用标准库 SPL 中的 SplStack class,SplStack 类继承双链表 ( SplDoublyLinkedList ) 实现栈. 代码: & ...

  3. php7安装及配置

    一.下载php-7.0.5http://cn2.php.net/distributions/php-7.0.5.tar.gz 二.解压安装:# tar zxvf php-7.0.5.tar.gz# c ...

  4. Java中的virtual method

    今天看jcvm的标准的 时候,看到有一个virtual method,感觉很疑惑,以前看Java的时候并没有发现有这类方法. 百度.Google了一下,才发现,Java中普通方法就是virtual m ...

  5. Android 签名比较

    一. keytool -list -printcert -jarfile "%filename%" 二. 非常low方法:下载的应用安装能成功覆盖原应用则签名一致三. 作者:陈子腾 ...

  6. EntityFramework 实体拆分与表拆分

    摘录自https://msdn.microsoft.com/zh-cn/data/jj591617 * 将实体类型的 CLR 属性映射到数据库中的多个表(实体拆分) 实体拆分允许一个实体类型的属性分散 ...

  7. oslo.messaging 1.8.0 bug fix and blueprint

    1366597 由于amqp_auto_delete可配置,但是NotifierPublisher使用的是没有在配置中获取而使用的默认的False,即非auo_delete,因而在用户配置了amqp_ ...

  8. 浅谈Entity Framework 增删改查和事务操作

    1.增加对象 DbEntity db = new DbEntity(); //创建对象实体,注意,这里需要对所有属性进行赋值(除了自动增长主键外),如果不赋值,则会数据库中会被设置为NULL(注意是否 ...

  9. net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  10. 采用CSS3的动态元素(动画)设计div块的层级式展现

    此练习作品是为学习HTML5+CSS3而设计的(如有不好请大家批评指教~~~). 操作:当页面加载时,点击网页中的绿色块(一层),则有其他几块(二层)从其中央出现并向外延伸并旋转,点击这几块中任意一个 ...