0

只是一个快速的问题。想连接两个表A和B,其中a_fk是A的表外键,b_pr是B的主键。A 和 B 之间的关系是一对一的双向关系。A 和 B 对应于 A 和 B 表 Entity 类。
我有 jpql 查询"select b from A a, B b where a.a_fk=b.b_pr";Eclipse 无法编译,说 a_fk 列不存在。我创建了一个本地 sql 查询并检查了相同的 sql 语句,但当然我已经将它翻译成正确的 sql。这有效。

问题:JPQL 不支持外键?

4

1 回答 1

0

JPQL 使用实体和实体之间的关联。它不使用表、列和外键。

如果要选择所有具有 B 的 As,则查询是

select a from A a inner join a.b

如果你想用他们的 B 选择所有的 As

select a from A a left join fetch a.b

读一本关于 JPA 的书,因为你还没有掌握关于 JPA 的基本概念。

于 2012-07-11T17:37:30.640 回答