2012-02-24 54 views
0

我有一个域名类名的DataList如何解决冬眠创建表,而其说不成功的创建表

@Entity 
@Table(name = "list_data") 
public class ListData { 
@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
@Column(name = "id") 
private int id; 
@Column(name = "sys_id") 
private String sysId; 
@Column(name = "name") 
private String name; 
@Column(name = "detail") 
private String detail; 
@Column(name = "values") 
private String values; 

    //getters and setters 
    } 

我有一些其他领域类..使用Hibernate 3.6一切都好 林。

但以某种方式我创建此表时不成功。

2012-02-25 03:31:52166 ERROR SchemaExport工具:274不成功:创建表list_data(ID>整数不为空的auto_increment,细节VARCHAR(255),名称为varchar(255),sys_id VARCHAR(255) ,> values varchar(255),primary key(id)) 2012-02-25 03:31:52,167错误SchemaExport:275您的SQL语法错误;检查>“主键(id))值> VARCHAR(255)”的手册,相当于你的MySQL服务器版本使用附近的正确语法在1号线

我知道我的Hibernate的配置是好的,我有一些其他的领域类,他们工作很好..

你能帮助这个,这是怎么回事? 在此先感谢。

回答

3

我认为你不能使用values作为列名,因为它是一个MySQL关键字(INSERT INTO ... VALUES())。

+0

这也是我的猜测。一般来说,当我使用hibernate时,我用f_标记列,用t_标记表以避免保留名称问题。 – MJB 2012-02-24 22:20:07

+0

谢谢@MJB,我稍后发现它.. :) :) – rokonoid 2012-02-24 22:55:34