关于使用JPA的@ManyToOne注解的方法及踩过的雷
举个例子:
有两张表,员工表(employee)和部门表(department)。这个时候,员工表对于部门表来说,属于ManyToOne的一个关系,对应关系为多个员工对应一个部门。当我们创建表结构时,应在多的一方去维护表关系,也就是说,应将@ManyToOne注解加在员工表中,并且设置为懒加载。
员工表:
fetch = FetchType.Lazy 懒加载,作用是用到该属性的时候,才会将该属性加载到内存。加载employee对象时,并不会去立即加载dept属性。如果不设置,缺省为eager,急加载。
部门表:
踩过的雷:
采用自动建表,如上两张表创建后,并没有创建出外键关系。
原因:5.7版本的mysql数据库,Hibernate创建表时,方言错误,将引擎类型创建成了MyISAM类型。目前Mysql只有InooDB类型的引擎支持外键约束,所以over了...