JPA INNER加入视图

时间:2012-09-21 17:32:50

标签: java jpa inner-join toplink

我有结果JPA类包含下面的anotation。

@JoinColumn (name = "cod_id", insertable = false, updatable = false, referencedColumnName = "cod")
@ManyToOne(optional = true, fetch=FetchType.EAGER)
private TableView dep;

TableView是一个实体,其来自另一个数据库的视图。所以,据我所知,我无法直接访问该表。

确定。在介绍之后,这里是:

问题:当我获取结果时,TopLink JPA会逐个查询每个dep。它从Results中获取所有resultSet,然后逐个获取每个dep。

问题:有没有办法避免这种行为?以最小化数据库服务器工作量的方式?

1 个答案:

答案 0 :(得分:0)

您可以在查询中使用连接提取,或在映射中使用@JoinFetch,或使用批量提取。

请参阅, http://java-persistence-performance.blogspot.com/2010/08/batch-fetching-optimizing-object-graph.html