Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 一对多情况下的HQL查询问题_Java_Sql_Hibernate_Hql - Fatal编程技术网

Java 一对多情况下的HQL查询问题

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]的引用 这是因为事务是用户表中的列表。我需

我有一个表Users和另一个表transaction。一个用户有多个事务。我正在尝试编写一个HQL来获取所有用户的列表和他的最新事务

我该怎么写?最新交易是指id值最大的交易

如果我写了这样的东西

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变量一样