
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 年 6 月 27 日 via Android 延迟加载 |
2 itechify PRO fetchtype 使用 lazy |
3 ilumer 2019 年 6 月 27 日 entityGraph ,querydsl ,jpql 不过这些都是类似 DTO 的方式查询出来。延迟加载 整个实体只会被查询出 id,如果调用其他的属性会出现 N+1 的问题 |
4 adzchao 2019 年 6 月 28 日 lazy 是唯一解决方式 |