Como evitar o armazenamento em cache de entidades no Spring Repository durante uma transação para testes
Eu tenho um teste como este:
@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());
}
Isso funciona perfeitamente bem. Mas quando eu removo o código de Confirmação da transação, o repositório não chama o banco de dados ao chamar findOne (). De alguma forma, posso forçá-lo a fazer o banco de dados chamar pelos meus testes?
Prefiro que meu teste não confirme nenhuma transação.
Não consigo fazer com que a sessão limpe o cache. E nem tenho certeza se a limpeza da sessão ajudaria.