我有一个user_activities
包含列、user_id
和activity_id
的表comments
。activity_id
并且user_id
都是外键,活动表具有另一个属性activity_name
。要获取一行,具有特定的user_id
,activity_name
我可以使用:
FROM UserActivityMapping AS mapping
INNER JOIN mapping.activityId AS activity
WHERE userId = <something> AND activity.activityName = <something>
到目前为止,一切都很好。现在,给定一个Pair
s 的列表<UserId, ActivityName>
,我想删除所有这样的行。这份清单可能非常大……就像 600-700 件物品一样大。现在看起来我可以生成一个非常混乱的查询:
DELETE ...
WHERE (userId = userId[0] AND activity.activityName = activityName[0]) OR
(userId = userId[1] AND activity.activityName = activityName[1]) OR
...
这显然不是最好的方法。我该怎么做?像这样的事情会很棒:
"WHERE (userId, activityId) in :userActivityList".setParameterList(
new List<Pair<String, String>>()
);
任何帮助是极大的赞赏。