欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-01-19 09:22:10
...

原因:

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

@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

 

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