JPQL 无法连接表
JPQL cannot join tables
你能帮我加入这些 tables 人吗?我的 JPQL 查询不工作
@Query("Select bp, p from Perks as p, BokPerks as bp where bp.bookingID =:bookingID and bp.payment_id = p.id")
List<Payment> getTEST(@Param("bookingId")long bookingID);
一个小时都解决不了,可能是一个简单的错误,但我已经屏蔽了一点:)
Table BokPerks 实体:
'131', NULL, '2'
'131', NULL, '3'
'132', NULL, '1'
'132', NULL, '2'
'132', NULL, '3'
'15', '1', '4'
'33', '2', '1'
'33', '2', '2'
'33', '2', '3'
'38', '3', '4'
津贴table:
'1', 'lorem ipsum'
'2', '1234'
'3', 'hello '
'4', 'examples'
您的查询没有 JOIN。应该是这样的
@Query("Select bp, p from Perks as p INNER JOIN p.BokPerks as bp where tbp.bookingID =:bookingID and tbp.payment_id = p.id")
我写了INNER JOIN p.BokPerks
,但实际上应该引用了属性的名称。没有你的实体就无法说出确切的语法 类
假设 BokPerks
有 perk
个引用 属性。那么查询应该是
from BokPerks as bp INNER JOIN bp.perk as p
好吧,您可以简单地看到您在查询中使用了一个未知的 tbp
别名:
@Query("Select bp, p from Perks as p, BokPerks as bp where tbp.bookingID =:bookingID and tbp.payment_id = p.id")
你写了Select bp, p from Perks as p
然后你写了where tbp.bookingID =:bookingID and tbp.payment_id = p.id
改为:
@Query("Select bp, p from Perks as p, BokPerks as bp where bp.bookingID =:bookingID and bp.payment_id = p.id")
你能帮我加入这些 tables 人吗?我的 JPQL 查询不工作
@Query("Select bp, p from Perks as p, BokPerks as bp where bp.bookingID =:bookingID and bp.payment_id = p.id")
List<Payment> getTEST(@Param("bookingId")long bookingID);
一个小时都解决不了,可能是一个简单的错误,但我已经屏蔽了一点:) Table BokPerks 实体:
'131', NULL, '2'
'131', NULL, '3'
'132', NULL, '1'
'132', NULL, '2'
'132', NULL, '3'
'15', '1', '4'
'33', '2', '1'
'33', '2', '2'
'33', '2', '3'
'38', '3', '4'
津贴table:
'1', 'lorem ipsum'
'2', '1234'
'3', 'hello '
'4', 'examples'
您的查询没有 JOIN。应该是这样的
@Query("Select bp, p from Perks as p INNER JOIN p.BokPerks as bp where tbp.bookingID =:bookingID and tbp.payment_id = p.id")
我写了INNER JOIN p.BokPerks
,但实际上应该引用了属性的名称。没有你的实体就无法说出确切的语法 类
假设 BokPerks
有 perk
个引用 属性。那么查询应该是
from BokPerks as bp INNER JOIN bp.perk as p
好吧,您可以简单地看到您在查询中使用了一个未知的 tbp
别名:
@Query("Select bp, p from Perks as p, BokPerks as bp where tbp.bookingID =:bookingID and tbp.payment_id = p.id")
你写了Select bp, p from Perks as p
然后你写了where tbp.bookingID =:bookingID and tbp.payment_id = p.id
改为:
@Query("Select bp, p from Perks as p, BokPerks as bp where bp.bookingID =:bookingID and bp.payment_id = p.id")