【发布时间】:2017-10-03 07:03:15
【问题描述】:
我有以下可选的多对多关系:PackingSlip <->> LineItem
我需要将没有任何相关LineItem 实例的所有PackingSlip 实例与qtyOrdered > qtyShipped 匹配。
对我来说最有意义的是写一个如下的表达式:
PackingSlip.LINE_ITEMS.containsMatch(LineItem.QTY_ORDERED.lt(LineItem.QTY_SHIPPED)).notExp();
我希望按照以下方式生成 SQL:
SELECT t0.id, ... FROM packing_slip t0
WHERE NOT (
EXISTS (
SELECT * FROM line_item t1
WHERE t1.packing_slip_id = t0.id
AND t1.qty_ordered < t1.qty_shipped
)
)
显然,我已经编造了containsMatch(Expression) 方法。既然这样的事情不存在(目前),那么在 Cayenne 4.0 中实现这一目标的最佳方法是什么?
【问题讨论】:
-
您好,您找到答案了吗?我需要做类似的事情。
标签: subquery exists apache-cayenne