我有要删除的列表。 我删除列表的代码是:
for (MyDataModel dataMo: listData) {
testEJB.delete(dataMo.getPkId(), MyDataModel.class);
}
public void delete(Object id, Class<T> classe) {
T entityToBeRemoved = em.getReference(classe, id);
em.remove(entityToBeRemoved);
}
由于我的列表大小可能超过500,因此通过此方法删除数据非常耗时。我想要替代方法以便更快删除。我需要帮助。
答案 0 :(得分:0)
好的,我有自己的解决方案,我使用本机查询。这里我也没有生成列表。我的代码是:
public int deleteUsingNativeQuery(String query){
Query qry = em.createNativeQuery(query );
return qry.executeUpdate();
}
这里我传递了原始查询“从'表名删除',其中'condition'”在函数deleteUsingNativeQuery和删除也很快。