我有一個類,其中幾個成員有註釋:JPA和的EclipseLink - 覆蓋FetchType.Eager
@ManyToOne(fetch = FetchType.EAGER)
在我的程序的特定部分,這些負載了太多的數據。不幸的是,我無法更改這些註釋,因爲這會影響此程序其他部分的性能。 eclipselink中有一種方法可以將其更改爲LAZY,以實現1個特定的JPQL查詢?
要用另一種方式來表達,可以使用fetch連接將LAZY更改爲EAGER。我希望能把EAGER變成懶惰的東西
我有一個類,其中幾個成員有註釋:JPA和的EclipseLink - 覆蓋FetchType.Eager
@ManyToOne(fetch = FetchType.EAGER)
在我的程序的特定部分,這些負載了太多的數據。不幸的是,我無法更改這些註釋,因爲這會影響此程序其他部分的性能。 eclipselink中有一種方法可以將其更改爲LAZY,以實現1個特定的JPQL查詢?
要用另一種方式來表達,可以使用fetch連接將LAZY更改爲EAGER。我希望能把EAGER變成懶惰的東西
這是不可能的。我的經驗法則是:讓所有事情都變得懶惰,並且如果你想要抓取,使用自定義查詢。
您可以做的最好的事情是加載元組(而且填充DTO)而不是加載實體。
我知道,因爲eclipselink 2.3你可以在運行時擴展你的實體,也許檢查? http://wiki.eclipse.org/EclipseLink/Examples/JPA/Extensibility
這是可怕的東西,維護明智;-)即使如此,感謝讓我知道這個eclipselink的核心。有一天它會很方便! – hyperman
我想我只會生活在可怕的表現,直到我們可以做一個更大的改革。 – hyperman