JPA 内部联接与视图



我有包含以下注释的结果JPA类。

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

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

还行。在此介绍之后,这里是:

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

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

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

看http://java-persistence-performance.blogspot.com/2010/08/batch-fetching-optimizing-object-graph.html

最新更新