如何使用JPQL从多个与ManyToOne相关的实体获取特定字段值?

时间:2016-04-06 21:07:23

标签: java spring postgresql jpa jpql

我是JPA的新手,所以不要因为潜在的愚蠢问题而过分努力,但谷歌没有给我答案。

我使用PostreSQL数据库。假设我有实体One,它与实体2(列表2)有ManyToOne关系,而实体2则与实体3(列表3)有ManyToOne关系。

所有三个实体都有自己的ID字段。

所以使用JPQL我正在尝试执行以下查询: "SELECT o.two.ID, o.two.three.ID FROM One o WHERE o.ID = 1 GROUP BY(o.two.ID, o.two.three.ID)"

但我收到的只有Internal Server ErrorSQLGrammarExceptionSQLState: 42803, Character code: 8.

pg_log中有记录o.two.ID必须在GROUP BY中指定,但它已经存在。

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案!

我需要的只是在我的实体中添加OneToMany个关系,因此实体Two必须OneToMany - 与实体One和实体Three相关必须OneToMany - 与实体Two相关。

谢谢大家!