@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="project", nullable = false) //本表中指向PrjInfo的主键
private PrjInfo project;
1.双向注释的时候(一个@ManyToOne,一个@OneTOMany时最好都设置成LAZY,如果都设置成EAGER,两张表相互获取时有可能会造成死循环)
2.SpringMVC框架在解析JSON到前台的时候会自动调用实体的GET方法,所以一般都用LAZY。
3.@ManyToOne,会把one的一方的主键作为many的外键存到的数据库中,框架会根据主键自动查询。所以在对many的表进行add时,必须给该字段赋值。
属性 | 名称 | 说明 |
---|---|---|
FetchType.LAZY | 懒加载 | 在访问具体的属性时才从数据库中加载 |
FetchType.EAGER | 急加载 | 在加载一个实体的时候,其中定义是急加载的的属性(property)和字段(field)会立即从数据库中加载 |