hibernate 在从数据库取单个记录是load方法和用select方法的区别

解决方案 »

  1.   

    针对单个对象没有区别
    load和get才有区别,
      

  2.   

    你应该问的是load和get的区别吧
    get如果没有查找到返回null,而load抛出一个ObjectNotFoundException异常。 
    load可以利用内部缓存和二级缓存中的存在数据,get不能利用二级缓存,在效率上,load应该快些。 
      

  3.   

    关键看你设置lazy的属性为true还是false;
    如果是false,两者load和get没有任何区别
      

  4.   

    总之对于get和load的根本区别,一句话,hibernate对于load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方法,hibernate一定要获取到真实的数据,否则返回null。
      

  5.   

    你应该问的是load和get的区别吧 
    get如果没有查找到返回null,而load抛出一个ObjectNotFoundException异常。 
    load可以利用内部缓存和二级缓存中的存在数据,get不能利用二级缓存,在效率上,load应该快些。我同意上面的说法,不过也是好象与那个什么  lazy有关吧
      

  6.   


    简单点说 load是去session找 找不到才去库找 get是直接去库找
      

  7.   

    都把技术区别说了。我说商业规则:你要是保证那条数据存在就用load不确定就用get