You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by Gregg Bolinger <gd...@gmail.com> on 2007/09/20 22:21:20 UTC
Spring + OpenJPA FetchType.LAZY
I seem to be having an issue with Lazy loading. I am using the latest
Spring and the latest OpenJPA. I have the following:
@Entity
@Table(name = "category")
public class Category {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String category;
@ManyToOne
private Category parentCategory;
@OneToMany(mappedBy = "parentCategory",
cascade = {CascadeType.ALL}, fetch = FetchType.EAGER)
private Set<Category> childCategories = new HashSet<Category>();
// GETTERS AND SETTER OMITTED
}
If I remove the FetchType.EAGER and allow LAZY and I do the following:
Category cat = (Category) getJpaTemplate().find(Category.class, id);
System.out.println(cat.getChildCategories().size());
I get an NPE for getChildCategories.size(). However, with EAGER I get the 2
child records that are there. I am using the following Filter provided by
Spring...
<filter>
<filter-name>jpaFilter</filter-name>
<filter-class>
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
</filter-class>
</filter>
Can someone tell me what I am doing wrong?
Thanks.
Gregg