使用JPA删除列表

时间:2016-06-06 05:03:17

标签: jpa

我有要删除的列表。 我删除列表的代码是:

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,因此通过此方法删除数据非常耗时。我想要替代方法以便更快删除。我需要帮助。

1 个答案:

答案 0 :(得分:0)

好的,我有自己的解决方案,我使用本机查询。这里我也没有生成列表。我的代码是:

public int deleteUsingNativeQuery(String query){
    Query qry = em.createNativeQuery(query );
    return qry.executeUpdate();
}

这里我传递了原始查询“从'表名删除',其中'condition'”在函数deleteUsingNativeQuery和删除也很快。