public class Student {
private Integer id;
private String name;
private Integer age;
private Integer gender;
private LocalDate birthday;
}
public class Course {
private Integer id;
private String name;
private String xxx;
private String aaa;
private Integer studentId;
@JoinColumn(name = "studentId", insertable = false, updatable = false)
@OneToOne(fetch = FetchType.EAGER)
private Student student;
}
hibernate 在查询的时候,有没有办法可以 exclude 掉关联实体的部分字段?
如上,在查 Course 时,关联的 Student 对象的全部字段会被查询出来,有没有办法可以过滤掉部分字段,只查询部分需要的字段?
1
wc951 2019-06-27 18:22:51 +08:00 via Android
延迟加载
|
2
oneisall8955 2019-06-27 19:20:10 +08:00 via Android
fetchtype 使用 lazy
|
3
ilumer 2019-06-27 23:18:17 +08:00
entityGraph ,querydsl ,jpql 不过这些都是类似 DTO 的方式查询出来。延迟加载 整个实体只会被查询出 id,如果调用其他的属性会出现 N+1 的问题
|
4
adzchao 2019-06-28 10:07:10 +08:00
lazy 是唯一解决方式
|