经过一番查找,发现并没有找到合理回答。
首先,通过hibernate的自动创建中间表,语句如下:
CREATE TABLE `center` (
  `cno` int(11) NOT NULL,
  `sno` int(11) NOT NULL,
  `uuid` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`cno`,`sno`,`uuid`),
  KEY `FKAEB2CC5551F98A16` (`cno`),
  KEY `FKAEB2CC5543F029F8` (`sno`),
  KEY `uuid` (`uuid`),
  CONSTRAINT `FKAEB2CC5543F029F8` FOREIGN KEY (`sno`) REFERENCES `student` (`sid`),
  CONSTRAINT `FKAEB2CC5551F98A16` FOREIGN KEY (`cno`) REFERENCES `course` (`cid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8这个是多对多的表,(学生对课程);
然后,不通过hibernate自动生成,自己仿照上面的语句在mysql可视化工具中创建一个多对多的角色对资源的表,可以倒是可以。
但是,有些不太符合常用的写法,比如 对于唯一主键,
id bigint primary key auto_increment
还有,就是 constraint 和 后面一长串编码,不知道这个的意义何在。
有根据这个官方版本尝试修改去除些这些看起来复杂的东西,但是总有各种各样的写法。
所以,如果能简便的写,是哪一种版本?
谢谢