hibernate用mysql创建表在sqlyog中没有_Hibernate创建表成功,但数据库中却没有表的解决方法...

在使用Hibernate和Mysql时,通过SchemaExport类尝试创建表,发现表只部分创建成功。问题出在't_message'表的'show'属性上,它是MySQL的关键字。将'show'字段改为'showed'后,成功创建所有表。同时提醒在定义Java类时,避免使用类似isShow这样的名称,以免Hibernate报找不到get方法的异常。
摘要由CSDN通过智能技术生成

注意:测试数据库为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方法异常。所以给变量起名字也要注意了。

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2009-10-02 15:12

浏览 4152

论坛回复 / 浏览 (0 / 2456)

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值