Wie lösche ich alle JPA-Entitäten?
In meinen Tests code brauche ich, um eine leere/leere Datenbank bei jeder Methode. Gibt es code, der erreichen würde, dass der Anruf an das @Vor der Prüfung?
- Wie hast du es geschafft, es zu tun? Ich muss das gleiche zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wirklich, das Sie immer verwenden können, JPQL,
Aber beachten Sie, es gibt keine Zuschüsse, die entity-cache wäre auch reinigen. Aber für unit-test-Zwecke ist es Aussehen eine gute Lösung.
Ich würde die test-Methoden, die insider-Transaktion (und rollback am Ende jeder Methode). Das ist die übliche Vorgehensweise. Ich sehe nicht den Punkt der Begehung einer Transaktion und schreiben die Daten in die Datenbank, wenn Sie LÖSCHEN Sie einfach nach. Nur nicht zu Begehen.
Alternative (nicht ausschließliche) Verwendung von DbUnit, um Ihre Datenbank in einen bekannten Zustand vor einer Testausführung. Wenn wir dies tun, werden Sie in der Regel nicht brauchen, um es zu säubern.
Andere Möglichkeit wäre die Verwendung von raw-JDBC löschen Sie die Datenbank, wenn vorhanden, und dann haben JPA erstellen Sie die gesamte Datenbank. Wird ziemlich langsam obwohl.