2016-03-04 15 views
0

定義FetchType可以說我有關係的其他實體的實體,其中FetchType定義急於的EclipseLink - 在運行

class Entity { 
    @OneToOne(fetch=FetchType.EAGER) 
    @JoinColumn(name="user_profile_id") 
    private OtherEntity otherEntity; 

} 

該實體在不同的服務和一些對服務FetchType.EAGER的使用OtherEntity是我想要的,但是在其他一些服務中,我會很樂意將FetchType更改爲FetchType.LAZY,但是在我的實體類中,我已經在OtherEntity上將FetchType定義爲`EAGER。

所以問題是:有沒有辦法在運行時定義FetchType

謝謝,歡呼聲

回答

0

你通常不會就定義了默認爲「渴望」,然後在運行時指定懶懶惰需要特殊支持,在前期,這是不急於做的關係被編織。大多數人會將其定義爲「惰性」,然後在需要在單個查詢中急切提取時使用eclipselink.join-fetch查詢提示。

您也可以嘗試fetchGroups,這允許定義fetchGroup來指定要加載的屬性。我不確定它會覆蓋渴望的關係,它可能值得嘗試,並且它可以用來製作相反的情況,以便更容易地獲取某些懶惰關係。