在做一个SSH(一对多的关系中)利用实体类建表时,有一个表(一)的建不出来。虽然控制台走了创建此表的hql语句。控制台显示如下:
最后找出结果是在多的实体类中表示数量时用了MySql中的关键字count( private intcount;)、out(private
boolean out;)将count改为number,将out改为nullify就可以建表了。
这两处错误都指明是创建表的时候发生了错误,而在这个项目中是用的Hibernate的实体类(此处在实体类中用了注解来表示主键,表名,一对多关系等等,没有生成实体类的映射文件【***.hbm.xml】)来创建表的,那自然就是实体类里出现了问题。(注解出错,属性变量命名使用关键字等等)
对于第二处的错误信息如下,它已指明了出错的具体范围。
create table t_saleorder (id integer not null auto_increment, QQ varchar(255), addr varchar(255), odate datetime, orderCode varchar(255), out boolean not null,
phone varchar(255), remark varchar(255), status boolean not null, user varchar(255), primary key (id))
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near'outboolean
not null, phone varchar(255), remark varchar(255), status boolean no' at line 1
熟悉关键字的话就能找到out了,那定义实体类Saleorder属性变量的时候使用out就不对了。
在SSH项目中,通过实体类建表遇到问题,由于实体类中的变量名使用了MySQL关键字`count`和`out`,导致建表失败。修正方法是将`count`改为`number`,`out`改为`nullify`。错误信息提示了SQL语法错误,指出在创建`t_saleorder`表时`out boolean not null`这句有问题。解决此类问题需要避免在实体类属性命名中使用数据库关键字。
2177

被折叠的 条评论
为什么被折叠?



