【新手】hibernate4配置自动建立数据库表时Unsuccessful

来源:互联网 发布:开户数据 编辑:程序博客网 时间:2024/06/06 09:21
本渣渣今天在配置hibernate4时按照某教程配置完后发现一直无法建立表
配置log4j输出后发现其中的建表语句
HHH000388: Unsuccessful: create table USERS (ID integer not null auto_increment, NAME varchar(50) not null, ADDRESS varchar(50),DATE date, primary key (ID) ) type=InnoDB
上配置文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory>    <!-- 配置连接数据库的基本信息 --><property name="connection.username">root</property><property name="connection.password">123456</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url">jdbc:mysql:///db_test</property><!-- 配置 hibernate 的基本信息 --><!-- hibernate 所使用的数据库方言 --><property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property><!-- 执行操作时是否在控制台打印 SQL --><property name="show_sql">true</property><!-- 是否对 SQL 进行格式化 --><property name="format_sql">true</property><!-- 指定自动生成数据表的策略 --><property name="hbm2ddl.auto">update</property><!-- 指定关联的 .hbm.xml 文件 --><mapping resource="com/demo/Users.hbm.xml"/></session-factory></hibernate-configuration>

其实我们把生成的建表语句在mysql上运行一次就可以知道,是无法成功建表的,是因为type=innoDB 这个语法已经不适用mysql5.0后的版本
所以在数据库方言中应该改为  org.hibernate.dialect.MySQL5InnoDBDialect
而不是原来的org.hibernate.dialect.MySQLInnoDBDialect

2 0
原创粉丝点击