醉酒楼主 2019-04-03 19:48 采纳率: 0%
浏览 253

hibernate 的load()加载方式的性能体现在哪?

hibernate 的load() 会首先返回一个只含id的代理对象,在需要具体属性的时候才会去查数据库,
而get会直接查询数据库。如果缓存都没有的话,最终都会去查数据库,只是一个是立即一个是延迟,那么load相比于get它的性能优势到底体现在哪?(实在没豆了,求解)

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-04-04 00:34
    关注

    并非所有情况,你都需要返回的对象的所有字段,以及它们关联的字段。

    比如说一个用户对象,包括了用户名、密码、邮箱、电话、生日、性别、年龄、住址,还外键关联了他所有的订单,关注的商品……
    而你现在需要一个逻辑,仅仅是让用户登录,验证用户名密码,显然你只要用户名、密码两个的数据,别的都不用,但是不使用懒惰加载,这些都无脑地加载一遍,就浪费了很多性能。

    评论

报告相同问题?

悬赏问题

  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题