首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

Jpa / Hibernate 实体关联对象里的字段能否 exclude 部分字段

  •  
  •   reid2017 · 137 天前 · 690 次点击
    这是一个创建于 137 天前的主题,其中的信息可能已经有所发展或是发生改变。
    
    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 对象的全部字段会被查询出来,有没有办法可以过滤掉部分字段,只查询部分需要的字段?

    4 回复  |  直到 2019-06-28 10:07:10 +08:00
        1
    wc951   137 天前 via Android
    延迟加载
        2
    oneisall8955   137 天前 via Android
    fetchtype 使用 lazy
        3
    ilumer   137 天前
    entityGraph ,querydsl ,jpql 不过这些都是类似 DTO 的方式查询出来。延迟加载 整个实体只会被查询出 id,如果调用其他的属性会出现 N+1 的问题
        4
    adzchao   136 天前
    lazy 是唯一解决方式
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   967 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 22:34 · PVG 06:34 · LAX 14:34 · JFK 17:34
    ♥ Do have faith in what you're doing.