JPQL:在子查询的 JOIN 中访问外部属性
JPQL: Access to outer attributes in JOIN of subquery
在我的 JPA 模型中有 3 tables A、B、C。
我的查询是:
SELECT a FROM A a
WHERE EXISTS (
SELECT c from C c LEFT JOIN B b"
ON c = b.c AND b.a = a
WHERE c.date BETWEEN CURRENT_TIMESTAMP AND :pUntil AND b.a IS NULL
)
背景是我希望 A 的所有实体在 b 中没有一个条目将来链接到事件 C。
问题是我得到 Column 'T0.ID' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or ...
编辑
: 可以认为A是用户table,C是事件,B存储用户对事件的注册。我想获得所有在参数 pUntil
.
之前尚未注册所有未来事件的用户
虽然我同意 Neil 的观点,但我通过更改查询解决了这个问题。这是新查询:
SELECT a FROM A a
WHERE EXISTS (
SELECT c from C c
WHERE c.date BETWEEN CURRENT_TIMESTAMP AND :pUntil
AND NOT EXISTS (
SELECT b from B b
WHERE b.c= c and b.a = a
)
)
在我的 JPA 模型中有 3 tables A、B、C。
我的查询是:
SELECT a FROM A a
WHERE EXISTS (
SELECT c from C c LEFT JOIN B b"
ON c = b.c AND b.a = a
WHERE c.date BETWEEN CURRENT_TIMESTAMP AND :pUntil AND b.a IS NULL
)
背景是我希望 A 的所有实体在 b 中没有一个条目将来链接到事件 C。
问题是我得到 Column 'T0.ID' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or ...
编辑
: 可以认为A是用户table,C是事件,B存储用户对事件的注册。我想获得所有在参数 pUntil
.
虽然我同意 Neil 的观点,但我通过更改查询解决了这个问题。这是新查询:
SELECT a FROM A a
WHERE EXISTS (
SELECT c from C c
WHERE c.date BETWEEN CURRENT_TIMESTAMP AND :pUntil
AND NOT EXISTS (
SELECT b from B b
WHERE b.c= c and b.a = a
)
)