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

2019-05-08 10:32:19 +08:00
 horsea

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

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

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

2014 次点击
所在节点    Java
2 条回复
zed1018
2019-05-08 13:03:51 +08:00
spring data jpa 就是这个的实践,通过 interface 达到 sql 只取部分字段。
cubecube
2019-05-09 20:39:09 +08:00
必然的啊,你这一个*,鬼知道你实际上要用啥。重构火葬场

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/562091

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX