初学JavaEE hibernate创建table遇到的坑

在使用junit测试生成表的时候,总是报错 use near 'type=InnoDB'或者use near 'type=MyISAM'

首先检查我们使用的MySql版本,打开MySql Installer,得知使用的是MySql Server 5.5.55版本。Mysql5.0版本以前,在sql语句中加 type=InnoDB是允许的,但是使用的MySQL版本为5.5.55,“type=InnoDB”不再生效,变为了“ENGINE=InnoDB”,所以一直报语句错误的问题,因此,打开hibernate.cfg.xml修改mysql的方言


 
 




    
    
        

        
        true
        update
        
        thread

        
        

        
        

        
        

        
        

        
        20
        true
        
        true
        mydb

        
        jdbc:mysql://localhost:3306/myjavaee

        
        root

        
        luoyexk

        
        com.mysql.jdbc.Driver

        
        org.hibernate.dialect.MySQLInnoDBDialect

        
        

        
        
        
    

org.hibernate.dialect.MySQLInnoDBDialect

这一条即为MySql方言,这样写是系统默认的,需要修改为

org.hibernate.dialect.MySQL5InnoDBDialect

只需在MySQL后面加个5。最终问题解决,表也自动创建了。

你可能感兴趣的:(初学JavaEE hibernate创建table遇到的坑)