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/天,具体规则查看活动详情