Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

369
Vistas
@Rollback no funciona en las pruebas Spring+Hibernate+Junit

mientras se prueba una función DAO en la aplicación spring+hibernate, la reversión de datos no ocurre. Estoy tratando de hacer la reversión de un caso de prueba junit mediante la anotación @Rollback

configuración del administrador de transacciones:

 <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="emf" /> </bean>

En mi código principal estoy usando hibernateTemplate() para hacer operaciones CRUD

código de prueba:

 @Test @Transactional @Rollback(true) public void test_populateObject() throws Exception { // TransactionDefinition def = new DefaultTransactionDefinition(); // TransactionStatus status = transactionManager.getTransaction(def); manualObj= new ManualObj(); manualObj.setName("TestObj001"); manualObj.setRefId("TestObj001"); manualObj.setCallback("TestObj001"); m TestObject obj=orderService.createTestObject(manualObj); Assert.assertNotNull(obj); // transactionManager.rollback(status); }

La reversión no elimina el objeto creado.

Entonces, ¿cuál podría ser la razón por la que @Rollback no está sucediendo?

Edición 1:

Estoy usando Spring Data JPA y el acceso a datos basado en hibernateTemplate en la misma aplicación. Ambos usan el mismo administrador de transacciones especificado como la configuración de bean anterior.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

¿Configuró su prueba para usar la configuración xml y especificó SpringJUnit4ClassRunner para ejecutar su prueba? Puedes hacerlo así:

 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"testContext.xml"}) @Transactional public class YourTest{ ... }
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda