Java 一对多情况下的HQL查询问题
我有一个表Users和另一个表transaction。一个用户有多个事务。我正在尝试编写一个HQL来获取所有用户的列表和他的最新事务 我该怎么写?最新交易是指id值最大的交易 如果我写了这样的东西Java 一对多情况下的HQL查询问题,java,sql,hibernate,hql,Java,Sql,Hibernate,Hql,我有一个表Users和另一个表transaction。一个用户有多个事务。我正在尝试编写一个HQL来获取所有用户的列表和他的最新事务 我该怎么写?最新交易是指id值最大的交易 如果我写了这样的东西 select name, transaction.amount from Users 我犯了一个错误 非法尝试使用元素属性引用取消对集合[{synthetic alias}{non-qualified property ref}trIP Attribute]的引用 这是因为事务是用户表中的列表。我需
select name, transaction.amount from Users
我犯了一个错误
非法尝试使用元素属性引用取消对集合[{synthetic alias}{non-qualified property ref}trIP Attribute]的引用
这是因为事务是用户表中的列表。我需要从用户本身进行选择,因为还有其他相关的引用列。那么,如何计算最后一笔交易金额
如果有人能帮助我,我可以尝试转换普通的SQL查询。JPA规范规定select子句不能包含集合值属性。您得到的错误反映了这一点 要选择集合的内容,请在查询中引入id变量:
选择u.name,tr.amount from Users u JOIN u.transactions tr
在哪里使用id属性?tr
是交易集合的id变量,就像u
是用户的id变量一样