JPA使用findById.无法查询到子表的字段属性

原因:

在子表中使用了懒加载,则无法一下子拿到所需要的属性

@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true)
@JoinColumn(name = "details_id", referencedColumnName = "id")
private Details _details;

 

1、FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载。

2、FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载。

 

把上面的

fetch = FetchType.LAZY改为
fetch = FetchType.EAGER

 

发现项目中这两个经常会互用,原因和优缺点是什么?

 

 

你可能感兴趣的:(java,LAZY,EAGER,fetch,FetchType)