2016-06-06 13 views
0

Ich habe Liste gelöscht werden. Mein Code meiner Liste zu löschen ist:löschen Liste mit 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); 
} 

Seit meiner Liste Größe von mehr als 500, die Löschung der Daten durch diese Methode sein kann, ist viel Zeit consuming.I Alternative wollen, so dass Lösch quicker.I Hilfe brauchen, ist.

Antwort

0

Ok ich meine eigene Lösung auf diese bekommen haben für i nativen query.Here i verwendet haben, um die Liste too.My Code nicht zu generieren ist:

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

Hier gebe ich die native Abfrage „löschen aus 'Tabellenname', wo 'Bedingung' "in Funktion deleteUsingNativeQuery und Löschen war auch schnell.

+0

, die Sie auch mit JPQL BULK DELETE per Abfrage verwenden könnten –