package de.hilling.cdi.sampleapp; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; import de.hilling.junit.cdi.jee.jpa.DatabaseCleaner; /** * Cleanup database. * * <p> * Brute force implementation. * </p> */ public class CustomDatabaseCleaner implements DatabaseCleaner { public static final String USER_TABLE_IDENTIFIER = "TABLE"; public void run(Connection connection) throws SQLException { DatabaseMetaData metaData = connection.getMetaData(); ResultSet tables = metaData.getTables(null, null, null, new String[]{USER_TABLE_IDENTIFIER}); while (tables.next()) { String tableName = tables.getString(3); if (!tableName.equals("SEQUENCE")) { connection.prepareStatement("delete from " + tableName).execute(); } } connection.commit(); } }