0
在模卡可以有或沒有持卡人(1:1),我想獲得由發行人掛actived持卡人加上卡無持卡人每卡過濾器,所以我需要一個完整的外連接。雖然下面的查詢轉換爲左連接返回剛剛與持卡人的卡的EclipseLink/TopLink的全外連接,而不是左加入
final ExpressionBuilder builder = new ExpressionBuilder(Card.class);
Expression queryExp = builder.get("cardIssuer").equal(cardIssuer);
queryExp = queryExp.and(builder.get("cardStatus").get("statusType").equal("ACTIVATED"));
queryExp = queryExp.and(builder.getAllowingNull("cardHolder")isNull().or(
builder.get("cardHolder").get("status").get("status").equal("ACTIVE")));
Expression orderExpression = builder.get("cardHolder").get("surname").descending();
return getMultiple(queryExp, pageable , Card.class, orderExpression);
翻譯查詢
SELECT COUNT(t0.CARD_ID) FROM CARD t0 LEFT JOIN CARD_HOLDER t3
ON (t3.CARD_HOLDER_ID = t0.CARD_HOLDER_ID), CARD_HOLDER_STATUS t2, CARD_STATUS t1
WHERE (((((t0.CARD_ISSUER_ID = 10006) AND (t1.STATUS_TYPE = 'ACTIVATED')) AND (t2.STATUS = 'ACTIVE'))
AND (t0.CARD_ID IN ('52683','52692')))
AND ((t1.CARD_STATUS_ID = t0.CARD_STATUS_ID) AND (t2.STATUS_ID = t3.STATUS_ID)))
,什麼是 「的ExpressionBuilder」?如果它是一些EclipseLink API類,那麼請刪除JPA標記 –
你是對的標籤 –
請參閱https://www.eclipse.org/eclipselink/documentation/2.5/concepts/expressions002.htm#CJAJIHBJ – Chris