只是一个简单的问题。想要连接两个表A和B,其中a_fk是A的表外键,b_pr是B的主键。 A和B之间的关系是一对一的双向。
A和B对应于A和B表实体类
我有jpql查询"select b from A a, B b where a.a_fk=b.b_pr";
Eclipse无法编译说a_fk列不存在。
我创建了一个Native sql查询并检查了相同的sql语句,但当然我已将其翻译为正确的sql。这很有效。
问题:JPQL不支持外键吗?
答案 0 :(得分:0)
JPQL使用实体和entties之间的关联。它不使用表,列和外键。
如果要选择所有具有B的As,则查询为
select a from A a inner join a.b
如果您想选择所有As与他们的B
select a from A a left join fetch a.b
阅读一本关于JPA的书,因为你还没有掌握有关JPA的基本概念。