hibernate 中的 lazy="proxy" 和 lazy="no-proxy" 的区别

Child   <-   many-to-one   ->Parent  
   
  class   Child   {  
      private   Parent   parent;  
   
      public   Parent   getParent   (){  
          return   this.parent;//访问了实例变量  
      }  
       
  }  
   
  class   Parent   {  
      private   String   name;  
   
      public   String   getName(){  
          return   this.name;//访问了实例变量  
      }  
   
      public   void   f(){  
          System.out.println("invokeing   f()");//没有访问实例变量  
      }  
  }  
   
  如果   many-to-one   的lazy设为proxy,当child.getParent().getName()或child.getParent().f()时,parent都会被抓取,若设为no-proxy,调用child.getParent().f()时,parent是不会被抓取的,同时这种方式需要编译时字节码增强,否则和proxy没区别。

你可能感兴趣的:(Hibernate,String,Class)