如何避免在选择操作期间加载ManyToOne对象

时间:2013-02-13 05:09:39

标签: hibernate jpa

@Entity
public class Foo {
   int v1;
   int v2;

   @ManyToOne
   Bar bar;
}

Query query = EntityManager.createQuery("select foo from Foo");

上述查询返回Foo(s),但也会加载bar个对象。如何防止加载条形对象?

1 个答案:

答案 0 :(得分:1)

默认情况下,多对一关系非常渴望。当首选延迟抓取时,可以通过以下方式完成:

@ManyToOne (fetch=FetchType.LAZY)

FetchType.LAZY只是提示提供者,根据JPA 2.0规范属性与FetchType.LAZY可能已加载或未加载。所以在所有JPA实现中都不保证是懒惰的 - 在Hibernate中它确实有用。