写在前面
刚在import xx.sql文件的时候,使用的是 Navicat Data Model
现在接触的项目是基本不用外键的(foreign key)的,可能单表设计,操作SQL更方便,尤其是JPA的存在,几乎都不用写sql的,但在表的设计使用若关联,即不使用外键约束表,只是在表里加上关联字段,这样当需要联表的时候,可拼接SQL去关联查询。我这里有些例子,关于没有外键约束下的连表实现,只总结了3中方式
- JPQL方式(基于Model的操作)
- 原生SQL的方式
- QueryDsl
后来我试着去用@OneToMany,@MnayToMany等等,做表的外键约束,配置级联关系(可以选择在CRUD操作时的级联操作),JPA下查询是挺方便的,多表查也很方便,是自动关联的,但CUD操作时,就很头疼了,你要关心更多的Many 或者One的映射关系,否则会出现,外键的各种异常,后来在设计表结构时,就很少再做外键映射了…
正文
SET FOREIGN_KEY_CHECKS,是外键检查的,如果设置为零的话,是不是在有外键约束的时候,就不会出现外键的各种异常了??还没试。。。。