[英]Spring Boot JPA LEFT JOIN in 3 tables
我正在使用Spring Boot,並嘗試利用HQL在3個表之間建立一個LEFT JOIN。
我擁有的三個實體是Usage,SubscriptionPeriod和Subscription。 在實體類中設置了必要的Hibernate注釋。
目標:我想通過提供訂閱ID來獲取所有用法,用法的標題為“ NEW”。 而且,我想在單個數據庫請求中完成此操作
我有:
String hql =
"SELECT DISTINCT u " +
"FROM Usage u " +
"LEFT JOIN u.subscriptionPeriod p " +
"LEFT JOIN p.subscription s " +
"WHERE s.remoteId = :remoteId AND u.title='NEW'";
當前,“ FROM使用情況”周圍似乎存在語法錯誤。 它顯示為“無法解析符號用法”
我怎樣才能實現自己想要的? 我也樂於聽取其他解決方案。 謝謝。
我可能以一種更復雜的方式來思考它。 這個@Query
方法非常@Query
。 希望這對某人有用。
@Query(
"SELECT u " +
"FROM usages u " +
"LEFT JOIN u.subscriptionPeriod p " +
"LEFT JOIN p.subscription s " +
"WHERE u.paymentStatus = 'NEW' AND s.remoteId = :remoteId"
)
public List<Usage> find(@Param("remoteId") String param)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.