mam test tak:Jak uniknąć buforowanie udziałów w jednostkach w Spring Repository podczas transakcji do testów
@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());
}
To działa perfekcyjnie. Ale po usunięciu kodu zatwierdzającego dla transakcji repozytorium nie wywoła bazy danych podczas wywoływania metody findOne(). Czy mogę jakoś zmusić go do wywołania bazy danych moich testów?
Preferuję mój test, aby nie dokonywać żadnych transakcji.
Nie mogę pobrać sesji, aby wyczyścić pamięć podręczną. I nie jestem nawet pewien, czy oczyszczenie sesji pomogłoby.
Jeden worarround jest użycie 'FindAll()', ponieważ ja po prostu chcę, aby moje UserType bycia wykonany, który działa dla mnie :) – Tarion