收集的知识点:hibernate配置文件



 

lazy 设置为 proxy 或者 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配置文件)