0
我儘量讓namedQuery:NamedQuery首先選擇列表中
@NamedQuery(name = "Interval.findByMemoryType",
query = "select i from Interval i JOIN i.intervalDatas id "
+ "where id.fragments.memoryType = :memoryType")
我的問題是,該片段是片段的列表。我只對列表中第一個元素的內存類型感興趣。
所以我應該有這樣的事情:
@NamedQuery(name = "Interval.findByMemoryType",
query = "select i from Interval i JOIN i.intervalDatas id "
+ "(select first(id.fragments)) as fid) where fid.memoryType = :memoryType")
但是我總是得到「查詢包含錯誤的結局」的問題。
有人能幫助我嗎?
我沒有注意到第一個JPA函數,子查詢分配應該放在查詢的select部分,而不是在join中。由於連接不是確定性的,我不知道只檢查片段列表中的第一個片段有什麼價值。你不想要任何引用具有某種記憶類型的片段的時間間隔嗎? – Chris