Hibernate通过注解设置的实体 无法自动在数据库创建表

Hibernate通过注解设置的实体, 无法在数据库创建表

出现这种问题有很多种可能,不过我们都可以通过错误信息来进行判断和处理

如下面的错误信息


ERROR: HHH000388: Unsuccessful: create table bw_sysinfo (sysid varchar(255) not null auto_increment, syskey varchar(255) not null, sysorder varchar(255), sysvalue LONGTEXT NOT NULL not null, primary key (sysid)) type=InnoDB
十一月 03, 2016 1:54:52 下午 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
ERROR: Incorrect column specifier for column 'sysid'
上面的错误信息就是说,创建这个字符型的sysid错误了,那么此时第一映像就是这个是个id,怎么是字符类型的呢,应该是自增的整型吧


果然,查询实体发现,这个字段的类型设置错里 


public class SysInfo {
	private String sysid;		//自增id
很明显,String应该改为int



修改后,重新运行项目,得到结果

十一月 03, 2016 2:00:22 下午 org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000261: Table found: qdm114475642_db.bw_sysinfo
十一月 03, 2016 2:00:22 下午 org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000037: Columns: [sysorder, sysvalue, syskey, sysid]
十一月 03, 2016 2:00:22 下午 org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000108: Foreign keys: []
十一月 03, 2016 2:00:22 下午 org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000126: Indexes: [primary]
十一月 03, 2016 2:00:22 下午 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000232: Schema update complete
表示创建这个数据表成功了


爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情Blog Img