我有一个表用户和另一个名为Transactiopn的表。一个用户有多个交易。我正在尝试编写一个HQL来获取所有用户及其最新交易的列表。
我该怎么写?最新交易是指最大值为id的那个。
如果我写的话
select name, transaction.amount from Users
我收到错误
使用元素属性引用非法尝试取消引用集合[{synthetic-alias} {non-qualified-property-ref} trIP属性
这是因为transaction是User表中的列表。我需要从用户本身中进行选择,因为还有其他相关的引用列。那么如何获取最后一笔交易金额呢?
如果有人可以帮助我,我可以尝试翻译正常的SQL查询。
答案 0 :(得分:0)
JPA规范声明select子句不能包含集合值属性。你得到的错误反映了这一点。
要选择集合的内容,请在查询中引入id变量:
select u.name, tr.amount from Users u JOIN u.transactions tr