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

阿里 Java 开发手册里 ORM 提到的不要使用 * 作为查询的字段列表怎么实践

  •  
  •   horsea · 2019-05-08 10:32:19 +08:00 · 2170 次点击
    这是一个创建于 2050 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [强制] 在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。 说明:1)增加查询分析器解析成本。2)增减字段容易与 resultMap 配置不一致。3)无用字 段增加网络消耗,尤其是 text 类型的字段

    比如用户表有 50 个字段,7 个 text 类型(大的有 7000 字节),上层代码用到 User 时都要传入字段列表吗?这会不会增加工作量,比如有时要用到其中的 35 个字段。或者说是一个基本字段+提供额外字段这样形式。

    最好提供一些实践例子参考下,java,python 等什么语言都可以。

    2 条回复    2019-05-09 20:39:09 +08:00
    zed1018
        1
    zed1018  
       2019-05-08 13:03:51 +08:00
    spring data jpa 就是这个的实践,通过 interface 达到 sql 只取部分字段。
    cubecube
        2
    cubecube  
       2019-05-09 20:39:09 +08:00 via Android
    必然的啊,你这一个*,鬼知道你实际上要用啥。重构火葬场
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1748 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:33 · PVG 00:33 · LAX 08:33 · JFK 11:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.