spring data jpa @ManyToOne注解如何只查询一层的字段

小安是屌丝 发布于 07/12 16:28
阅读 611
收藏 0

比如QuestionRecord类中有一个学生字段

    @ManyToOne(fetch = FetchType.LAZY)
    @NotFound(action=NotFoundAction.IGNORE)
    @JoinColumn(name = "student_id", foreignKey = @ForeignKey(name = "none",value = ConstraintMode.NO_CONSTRAINT))
    private Student student;

学生类中又有一个TClass字段(代表班级)

    @ManyToOne(fetch = FetchType.LAZY)
    @NotFound(action=NotFoundAction.IGNORE)
    @JoinColumn(name = "student_id", foreignKey = @ForeignKey(name = "none",value = ConstraintMode.NO_CONSTRAINT))
    private TClass class;

这样查询QuestionRecord的时候,就把Student的class也查询了一遍,如果是查询一个列表的话,要浪费不少内存,效率也不高,请问如何避免这样的情况,原生查询的方式就不要说了

加载中
0
魔力猫
魔力猫

LAZY,你已经懒加载了,如果不访问那个属性,是不会查的。

另外二级缓存了解一下。

返回顶部
顶部