在上两篇博客中,看起来有点变扭,我们可以看到在主键pojo类中有这样的注释:@column(length=20,name="XXX")
其实这是在指明字段的大小,也是咋指明主键的大小。因为如果我们不指明会报错:
Specified key was too long; max key length is 767 bytes
what wrong????????????????????????????
我们把hibernate生成的语句copy到mysql中
create table composeIDTest
(id integer not null,
name varchar(255) not null,
title varchar(255),
address varchar(255),
primary key(id,name)
)
如果这样创建就会报错,但是如果我们这样
create table composeIDTest
(id integer not null,
name varchar(255) not null,
title varchar(255),
address varchar(255),
primary key(id,name(100))
)
错误消除!primary key长度有限制!!
参考这篇博客:http://www.zhihu.com/question/19798234