英文:
Spring boot JPA subquery with round brackets expression
问题
@Query(value = "SELECT dm, ml, items " +
"FROM DeliveryMission dm " +
"INNER JOIN MissionLog ml ON ml.deliveryMission.id = dm.id " +
"INNER JOIN (" +
" SELECT di.deliveryMission.id, GROUP_CONCAT(di.deliverySpot.id) as spotList, GROUP_CONCAT(di.receptionNo) as recpNo " +
" FROM DeliveryItem di GROUP BY di.deliveryMission.id" +
") AS items ON items.id = dm.id ")
Edit 1: 我的问题是如何在 JPA 查询中表示这些 (
和 )
。
Edit 2: 关于我在 JPA Spring 数据中关于子查询的问题。不,无法在 JPQL 查询的选择子句中使用子查询。。
英文:
I am new with Spring JPA. I have a table, try to join it with a custom table and convert this query to JPA query:
SELECT *
from delivery_missions dm
inner join (
select di.delivery_mission_id , GROUP_CONCAT(di.delivery_spot_id) as spot_list, GROUP_CONCAT(di.reception_no) as recp_no
from delivery_items di GROUP by di.delivery_mission_id
) as items on items.delivery_mission_id = dm.id
GROUP by dm.id
Below is the query I'm writing but I have problem when
@Query(value = "SELECT dm, ml, items " +
"from DeliveryMission dm " +
"inner join MissionLog ml on ml.deliveryMission.id = dm.id " +
"inner join ( " + //error here with left parenthesis
" select di.delivery_mission_id , GROUP_CONCAT(di.delivery_spot_id) as spot_list, GROUP_CONCAT(di.reception_no) as recp_no " +
" from delivery_items di GROUP by di.delivery_mission_id " +
") as items on items.delivery_mission_id = dm.id ")
My solution is try to use with nativeQuery (or convert to mybatis). But type of JPA query look better for me.
Edit 1: My question is how to express this ( and ) in JPA query.
Edit 2: Relate to my question about subquery in JPA Spring data.
No, it is not possible to have subquery in the select clause in JPQL query..
专注分享java语言的经验与见解,让所有开发者获益!
评论