Cómo evitar el almacenamiento en caché de las entidades en Spring Repository durante una transacción para pruebas
Tengo una prueba como esta:
@Transactional
@Test
public void addRemoveTest() {
MyEntitiy entity = new MyEntitiy ();
entity = textureRepository.saveAndFlush(entity );
TestTransaction.flagForCommit();
TestTransaction.end();
TestTransaction.start();
final MyEntitiy loadedTexture = myEntityRepository.findOne(entity .getId());
}
Esto funciona perfectamente bien. Pero cuando elimino el código de compromiso para la transacción, el repositorio no llamará a la base de datos cuando llame a findOne (). ¿Puedo forzarlo de alguna manera a hacer que la base de datos llame a mis pruebas?
Prefiero que mi prueba no confirme ninguna transacción.
No puedo obtener la sesión para borrar el caché. Y ni siquiera estoy seguro si ayudaría a limpiar la sesión.