在李刚的《javaee轻量级开发中》,hibernate开始有一个示例:news_inf,但是运行后发现不能自动创建表,报错:
Hibernate: insert into news_table (title, content) values (?, ?)
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not insert: [org.crazyit.app.domain.News]
…………此处省略
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'hibernate.news_table' doesn't exist
…………此处省略
问题可能很多:
仔细检查基本链接信息:url,名字,密码,是否已经创建了数据库
还有主要配置信息:
<!-- 根据需要自动创建数据表 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 数据库方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
注意:不是Innodb至于为什么可能是innodb不支持把
还有其他的;
我遇到的是,将实体的自动标记属性id定义成了string
参照修改即可!在:hibernate-release-4.3.6.Final\project\etc目录下有对应的文件给及参照
另外如果还没有解决问题,可以自己查看控制台输出信息,如果有说创建表不成功,那么已经开始自动创建了只不过是不成功而已。。。