2014-04-29 45 views
0

我有一個表用戶和另一個表叫做Transactiopn。一個用戶有多個事務。我正在嘗試編寫一個HQL來獲取所有用戶和他最近的交易清單。在一對多案件中HQL查詢問題

我該如何寫?最新的交易是指最大值爲id的交易。

如果我喜歡寫東西

select name, transaction.amount from Users 

我得到一個錯誤

非法企圖取消引用集合[{合成別名} {不合格的屬性,裁判}之旅屬性]與元素房產參考

這是因爲交易是用戶表中的列表。我需要從用戶本身進行選擇,因爲還有其他相關的參考列。那麼我如何取最後一筆交易金額呢?

我可以嘗試翻譯一個正常的SQL查詢,如果有人可以幫助我。

回答

0

JPA規範聲明select子句不能包含集合值屬性。你得到的錯誤反映了這一點。

要選擇一個集合的內容,介紹了一個id變量查詢:

select u.name, tr.amount from Users u JOIN u.transactions tr

+0

我在哪裏使用id屬性? –

+0

'tr'是交易集合的id變量,就像'u'是爲用戶 – kostja