我有以下可选的多对多关系:PackingSlip <->> LineItem
我需要将所有PackingSlip
没有任何相关LineItem
实例的实例与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 中实现这一目标的最佳方法是什么?