【发布时间】:2020-06-23 06:17:22
【问题描述】:
通常,当您有一个 List 时,一次从表中删除许多记录非常简单。现在我的查询看起来像这样:
Query q = em.createQuery("DELETE from SomeEntity e WHERE e.id in :someEntityIds")
.setParameter("someEntityIds", someEntityIds);
someEntityIds 是我要删除的 ID 的 List<int>。
但是,我需要根据两个不同的 id 修改要删除的代码。我有一个模型类SomeModel,其中有两个变量
public class SomeModel {
public String someId;
public Long anotherId;
}
请注意,此模型与我的 JPA 模型/实体不直接对应。该表将包含这两个值,以及更多。
我有一个列表List<SomeModel>,我需要用它来一次删除多条记录。换句话说,我必须删除SomeModels 列表中与someId 和anotherId 匹配的每条记录。如果不遍历列表并对列表中的每个项目运行删除查询,这是否可能?
【问题讨论】:
-
尝试为删除编写原始 SQL 查询将有助于您(和您)的问题。