Hibernate创建表成功,但数据库中却没有表的解决方法

    注意:测试数据库为Mysql

   

      编写Hibernate配置文件,然后通过SchemaExport类创建表,以前都能成功实现,但是今天却遇到了问题。

编写了三个“.hbm.xml”文件,然后通过SchemaExport类创建表,控制台输出如下Sql语句:

 

drop table if exists t_admin
drop table if exists t_message
drop table if exists t_websiteinfo
create table t_admin (userName varchar(20) not null, password varchar(20), primary key (userName))
create table t_message (id integer not null auto_increment, userName varchar(20), email varchar(20), websize varchar(100), qq varchar(10), content longtext, facePic varchar(30), headPic varchar(30), postDate varchar(20), replayContent longtext, replayDate varchar(20), show bit, userIP varchar(15), top bit, primary key (id))
create table t_websiteinfo (id integer not null auto_increment, name varchar(20), needEmail bit, supportHtml bit, needCheckup bit, contentLength integer, pageSize integer, replayTip varchar(30), replayColor varchar(20), badWords longtext, primary key (id))

 

 

     进入数据库,却发现只有t_admin和t_websiteinfo两张表,t_message表不存在,试了N次都不行,重新启动MyEclipse和Mysql,还是不行,百度、谷歌无果。休息会突然想到是不是某个属性是数据库的关键字,于是把属性复

制到SQLyog Enterprise中,发现show变成蓝色了,修改成showed,在Export,成功了。果真是关键字惹的祸,

下次要注意了。

 

PS:写了个类,boolean型,命名为isShow,Java中生成get方法如下:

public boolean isShow()
	{
		return isShow;
	}

 

使用Hibernate时会报找不到isShow属性的get方法异常。所以给变量起名字也要注意了。

阅读更多
换一批

没有更多推荐了,返回首页