hibernateloadget:Hibernate中load和get的两大区别

        1.读取时机区别(当lazy=true时候)   Hibernate load是采用延迟机制(load语句不读库等使用非主键时才去读库)而Hibernate get不采用延迟机制(get语句时马上读库);

  2.搜索不到数据时情况

  当搜索数据不存在时候Hibernate load依然会返回个对象在你使用该对象非主键数据时会抛出异常;

  当搜索数据不存在时候Hibernate get会返回个null;

  备注:网上看来说load比get更节省资源;

  我做过个例子即两个线程1号线程把数据读出来把session关掉过几秒2号线程也去读相同记录这时2号线程并没有搜索库(没有显示出HQL语句)不管你用load还是get

  结论:我觉得它们两个都有使用到缓存Cache至于更深入我没有去研究了

Tags:  loadget ibhibernate区别 load和get的区别 hibernateloadget

延伸阅读

最新评论

发表评论