Hibernate @OneToMany EAGER不起作用

时间:2014-06-24 20:44:14

标签: java hibernate relationship

我有两个实体,topicsposts。对于一个poststopics多了topics

所以我设置了OneToManyclass topics implements Serializable { ... @OneToMany(fetch = FetchType.EAGER, mappedBy = "topic") @OrderBy("date DESC") private List<posts> postsList; public List<posts> getPostsList() { return this.postsList; } }

posts

topic实体中,Integer字段不是任何特定设置,只是典型的postsList

问题是,我无法使用EAGER抓取类型获取此LAZY,但无论如何它都会保留topics theTopic = (topics) session.load(topics.class, topic); List<posts> postsOfTopic = theTopic.getPostsList();

List

... {{1}}现在包含一个对象,但它已经满了空。

任何想法如何解决?

1 个答案:

答案 0 :(得分:2)

session.load方法通常返回代理,而session.get方法保证返回初始化实体,并且如果标记为这样,则会急切地获取集合。此外,还可以选择使用eager fetch HQL查询来急切加载相关集合。