我有兩個實體:獲得另一張表的分組MAX結果JPQL
- 帳戶,包含屬性ACCOUNTID
- ImportRun,其中有一個屬性的runid。 ImportRun與Account之間存在一對多(雙向)關係。
可能有多個帳號具有相同的accountId,這些帳號引用具有不同runIds的不同ImportRuns(例如每天一個)。
我想爲給定的一組accountIds(這是一種業務鍵,而不是hibernate實體鍵)獲取最新的runIds,或者甚至更好,它們中的每個都引用最新的現有ImportRun(以便此ImportRun的runId具有所有由具有此accountId的帳戶引用的ImportRuns的最高runId)。換句話說:我想獲得最新的帳戶。 不幸的是,我不能使用原生SQL,那麼它會很容易。我已經設法做這種事情與JPQL只有一個給定accountId,但我無法弄清楚如何將幾個給定accountIds的每個runId的最大結果。
我如何使用JPQL做到這一點?
就這樣我理解:「ImportRun與Account之間存在一對多(雙向)關係。」所以在帳戶中,你有這樣的事情? '@OneToMany私人清單 importRuns;' –
2013-04-29 15:24:16
不,這正好相反。在ImportRun中,我有以下內容:列表。在Account中,有一個屬性importRun。爲了解釋這一點:每晚都有一批批進口一組賬戶。這批被稱爲「ImportRun」。因此,每個導入運行都有一個runId,這是一種標識運行時間的時間戳。現在,使用情況是獲得定義數量的賬戶,並給定其賬戶標識(業務密鑰) - 它們中的每一個都可以處於與不同runId完全不同的ImportRun中。我想獲得最新的。 –
2013-04-29 15:29:47