尽管延迟加载,Hibernate仍会对连接进行多次选择

时间:2012-02-27 20:37:33

标签: hibernate jpa lazy-loading

我无法进行延迟加载。每个find()都为我在实体中定义的每个manyToOne对象创建一个select。

我有一个包含以下字段的实体

@ManyToOne(optional = true,fetch = FetchType.LAZY)
@Fetch(FetchMode.JOIN)
@JoinColumn(name = "some_class_one", referencedColumnName="some_class_one", nullable = true)
private SomeClassOne someClassOne;

@ManyToOne(optional = true,fetch = FetchType.LAZY)
@Fetch(FetchMode.JOIN)
@JoinColumn(name = "some_class_two", referencedColumnName="some_class_two", nullable = true)
private SomeClassTwo someClassTwo;

我正在更新它们:

 Entity entity =  jpaTemplate.find(entityClass, id);

 if (entity == null) {

  jpaTemplate.persist(entity);

                        } else {
     // do some updating of entity values here

     jpaTemplate.merge(entity);   

     }

任何人都能看到我做错了什么?

0 个答案:

没有答案