如何使用 JPQL 从多个 ManyToOne 相关实体中获取特定字段值?
How to get specific fields values from multiple ManyToOne-related entities with JPQL?
我是 JPA 的新手,所以不要因为可能很愚蠢的问题而责备我,但 google 没有给我答案。
我使用 PostreSQL 数据库。假设我有实体一,它与实体二(列表二)有 ManyToOne
关系,而实体二又与实体三(列表三)有 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 Error
、SQLGrammarException
和 SQLState: 42803, Character code: 8.
在pg_log中有记录必须在GROUP BY
中指定o.two.ID
,但它已经存在了。
我终于找到了解决办法!
我只需要在我的实体中添加 OneToMany
反向关系,因此实体 Two
必须与实体 One
和实体 [=14] OneToMany
相关=] 必须 OneToMany
与实体 Two
.
相关
谢谢大家!
我是 JPA 的新手,所以不要因为可能很愚蠢的问题而责备我,但 google 没有给我答案。
我使用 PostreSQL 数据库。假设我有实体一,它与实体二(列表二)有 ManyToOne
关系,而实体二又与实体三(列表三)有 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 Error
、SQLGrammarException
和 SQLState: 42803, Character code: 8.
在pg_log中有记录必须在GROUP BY
中指定o.two.ID
,但它已经存在了。
我终于找到了解决办法!
我只需要在我的实体中添加 OneToMany
反向关系,因此实体 Two
必须与实体 One
和实体 [=14] OneToMany
相关=] 必须 OneToMany
与实体 Two
.
谢谢大家!