0
有沒有辦法使用JPQL從1到n關係中檢索最後的「m」個實例?例如,檢索以下「x」用戶的最後一個「m」動作。如何使用JPQL從「1-n」關係中檢索最後一個「m」個實例?
有沒有辦法使用JPQL從1到n關係中檢索最後的「m」個實例?例如,檢索以下「x」用戶的最後一個「m」動作。如何使用JPQL從「1-n」關係中檢索最後一個「m」個實例?
對於單個用戶,您可以在查詢中使用maxResults。
Query query = em.createQuery("select u.actions from User u where u.id = :id");
query.setMaxResults(10);
否則,你如何確定「最新」的情況下,因爲在一個一對多沒有訂單,或者你有一個順序列?
也許類似,
Select a from User u join u.actions a where a.index >= (Select (Max(a2.index) - 10) from Action a2 where a2.user = u)
我們正在努力爲幾個用戶的時間做到這一點。我們在Action對象上有一個createdDate字段。所以我不認爲'Select(Max(a2.index) - 10)'會起作用。 – rreyes1979 2011-05-11 13:51:55