Me gustaría truncar todas las tablas de mi base de datos entre una prueba de integración a otra. ¿Cuál es la mejor manera de hacer esto usando hibernate?¿La mejor manera de truncar todas las tablas con hibernación?
Actualmente estoy haciendo esto:
public void cleanDatabase() {
doWithSession(new Action1<Session>() {
@Override
public void doSomething(Session session) {
SQLQuery query = session.createSQLQuery("truncate table stuff");
// todo - generify this to all tables
query.executeUpdate();
}
});
(doWithSession es un pequeño envoltorio que crea y cierra una sesión). Podría repetir todos mis objetos mapeados usando la reflexión ... Me pregunto si alguien ya resolvió este problema.
Pero ... pero quiero afirmar cosas en la base de datos. Para esto, necesito comprometerle cosas. – ripper234
@ ripper234 Puede afirmar cosas perfectamente bien, siempre y cuando lo haga en el alcance de la transacción – Qwerky
@Qwerky - hmm, suena como un enfoque interesante en ese momento. Lo probaré, gracias. – ripper234