Ich brauche das für einen Integrationstest. Meine Umgebung ist JBoss 7, EJB3 mit JPA auf Hibernate 4, H2 In-Memory-Datenbank und Tests werden von Arquillian ausgeführt. Ich möchte in der Lage sein, die Datenbank zu löschen und neu zu erstellen, werden alle Tabellen basierend auf persistence.xml
und den Entitäten. Ich weiß, dass ich es zu Beginn der Anwendung tun kann durch Angabe:Wie manuell create-drop von JPA auf Hibernate?
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
Aber ich brauche diese aus dem Code nach dem ersten Tropfen manuell zu tun und passierte erstellen.
Ist es möglich? Was ist der einfachste Weg?
Müssen Sie wirklich das Schema zwischen den Tests neu erstellen oder müssen Sie nur die Daten abschneiden? – FGreg
@FGreg - alle Daten abschneiden und das Skript import.sql ausführen würde ausreichen. Problemumgehungen gibt es, aber ich war mehr interessiert, wenn es eine Möglichkeit gibt, in der Art wie Winterschlaf zu laufen ... – sm4
Ich bin nicht sicher, was die Unterschiede zwischen JUnit und Arquillian sind, aber ich habe eine Lösung für JUnit, die alle Daten abschneidet nach jedem Test. Wenn Sie interessiert sind, könnte ich es teilen, ich weiß nur nicht, wie nützlich es sein wird, da es sich ziemlich stark auf JUnit-Konstrukte verlässt. – FGreg